MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.02.2018, 12:02   #1
Markus Nbg
MOF User
MOF User
Standard Acc2010 - Wenn User nicht in der Tabelle eingetragen dann DB schliessen

Hallo Zusammen

kann sein das das Thema so ähnlich schon x-mal behandelt wurde, nur das was ich suche finde ich nicht.

Beim Starten der DB hole ich mit den Windows-User

= Environ("UserName")

jetzt soll Access in der Tabelle T_User nachsehen ob der Name hinterlegt ist und wenn nicht, die DB einfach wieder schliessen, mehr erst einmal nicht :-)


Danke & Gruß
Markus
Markus Nbg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 12:14   #2
ebs17
MOF Guru
MOF Guru
Standard

Zitat:

nachsehen

DLookup, DCount

Zitat:

schliessen

Code:

Application.Quit
Kannst Du diese Fremdwörter selber in Code auflösen?

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:27   #3
Markus Nbg
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat: von ebs17 Beitrag anzeigen

DLookup, DCount

Code:

Application.Quit
Kannst Du diese Fremdwörter selber in Code auflösen?

bekomme den Code nicht hin.

Habe eine Funktion hinterlegt die mir den User holt

Private Sub Form_Load()
Start = DLookup("DB", "T_User", "User = " & fncUserHolen() ) ' hier wird nach dem Status geschaut
If Start <> "Mat" Then
I = MsgBox("Sie sind nicht als User zugelassen, DB wird geschlossen")
Application.Quit
End If

End Sub

an der Stelle fncUserHolen soll der Name des Users aufgelöst werden, aber irdend etwas passt nicht.

Danke & Gruß
Markus Nbg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:43   #4
ebs17
MOF Guru
MOF Guru
Standard

Code:

Start = DLookup("DB", "T_User", "User = fncUserHolen()")
Eine Funktion ohne Parameter von außen holt mach einfacherweise ins SQL rein.

Außerdem sollte man beachten, dass Du filterst, und da könnte es sein, dass die Filterung keinen Treffer ergibt. DLookup gibt dann NULL zurück. Das sollte man berücksichtigen und behandeln.

Sowie: Wenn Variablen wie hier Start vom Himmel fallen, istr das kein guter Stil.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:48   #5
Markus Nbg
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat: von ebs17 Beitrag anzeigen

Code:

Start = DLookup("DB", "T_User", "User = fncUserHolen()")
Eine Funktion ohne Parameter von außen holt mach einfacherweise ins SQL rein.

Außerdem sollte man beachten, dass Du filterst, und da könnte es sein, dass die Filterung keinen Treffer ergibt. DLookup gibt dann NULL zurück. Das sollte man berücksichtigen und behandeln.

Sowie: Wenn Variablen wie hier Start vom Himmel fallen, istr das kein guter Stil.

OK ..... und was mach ich jetzt am Besten?

Dim Start As String

Dann kommt
Der Ausdruck den Sie als Abfrageparameter eingegeben haben, hat folgenden Fehler verursacht: "MaxMuster"
In den Gänsefüsschen steht der richtige Username

Geändert von Markus Nbg (09.02.2018 um 16:58 Uhr).
Markus Nbg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 21:54   #6
ebs17
MOF Guru
MOF Guru
Standard

Einen vollständigen Beitrag brauchst Du nicht zitieren. Aber vollinhaltlich lesen und wahrnehmen wäre eine gescheite Übung.

Ansonsten: Liest Du, was Du schreibst? Würdest Du aus dieser Informationsexplosion schlau, wenn Du Dir nicht selber über die Schulter auf den Bildschirm schauen würdest?

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2018, 08:46   #7
Markus Nbg
Threadstarter Threadstarter
MOF User
MOF User
Standard

Danke für Deine Bemühung dann versuche ich Dich an meinen Bildschirm zu holen

Zitat: von ebs17 Beitrag anzeigen

Einen vollständigen Beitrag brauchst Du nicht zitieren.

Ok versuche ich zu beherschen

Zitat: von ebs17 Beitrag anzeigen

Aber vollinhaltlich lesen und wahrnehmen wäre eine gescheite Übung.

Habe ich gemacht

Zitat: von ebs17 Beitrag anzeigen

Ansonsten: Liest Du, was Du schreibst? ?

Ja


Zitat: von ebs17 Beitrag anzeigen

Code:

Start = DLookup("DB", "T_User", "User = fncUserHolen()")
Eine Funktion ohne Parameter von außen holt mach einfacherweise ins SQL rein.
.

Ok das verstehe ich nicht

Zitat: von ebs17 Beitrag anzeigen


Außerdem sollte man beachten, dass Du filterst, und da könnte es sein, dass die Filterung keinen Treffer ergibt. DLookup gibt dann NULL zurück. Das sollte man berücksichtigen und behandeln.

Mir ist nicht bewusst wo ich filtere

Zitat: von ebs17 Beitrag anzeigen

Sowie: Wenn Variablen wie hier Start vom Himmel fallen, istr das kein guter Stil.

Du meinst das hier, was ich nicht gleich angegeben hatte

Dim Start As String

Also versuche ich es jetzt ohne Informationsexplosion an einem Stück aufzuzeigen


Auf diese Funktion in der DB möchte ich zugreifen

Public Function fncUserHolen() 'Usernamen ausgeben
fncUserHolen = Environ("UserName")
End Function

Beim Öffnen des "Hauptformular" soll das hier dann aufgerufen werden

Code:

  
Private Sub Form_Load()

Dim Start As String

Start = DLookup("DB", "T_User", "User = " & fncUserHolen())   'hier wird nachgesehen ob es den angemeldeten User in der Tabelle T_User gibt
        If Start <> "Mat" Then ' Wenn das Ergebnis ungleich ist
        I = MsgBox("Sie sind nicht als User zugelassen, DB wird geschlossen") 'sollte die Msg Box kommen
        Application.Quit ' und die DB wird geschlossen
        End If
End Sub


Das Ergebnis nach dem Start des Formulares ist

Laufzeitfehler'2471'
Der Ausdruck den Sie als Abfrageparameter eingegeben haben, hat folgenden Fehler verursacht: "MaxMuster"


Das was aber zwischen den " " steht ist der richtige Name

Hoffe Du hast jetzt das Gefühl mir über die Schulter geschaut zu haben, Danke
Markus Nbg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2018, 09:02   #8
Markus Nbg
Threadstarter Threadstarter
MOF User
MOF User
Standard

so habe es jetzt hinbekommen.

Habe mich mal um die Fehlermeldung gekümmert.

da ich hier

Code:

Dim Start As String
Start als String definiere

muss hier
Code:

Start = DLookup("DB", "T_User", "User = '" & fncUserHolen() & "'")  ' hier wird nach dem Status geschaut
auch der Datentyp gepflegt werden.

Hier gefunden

http://www.ms-office-forum.net/forum...17&postcount=3

Jetzt geht es

Danke nochmals
Markus Nbg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.