Hallo Gemeinde,
mal eine einfache Frage an Euch. Wie muss ich meinen unten angefügt Code erweitern, damit bei der Eingabe des Benutzernamens die Groß- bzw. Kleinschreibung ignoriert wird)
Private Sub Login_Click()
Benutzername.SetFocus
If Benutzername = "admin" And Passwort = "12345678-" Then
MsgBox "Willkommen"
DoCmd.Close
DoCmd.OpenForm "RoboterF"
ElseIf ...
End Sub
Danke im Voraus
MfG
Mustermann
If strconv(Benutzername.value, vbuppercase) = strconv("admin", vbuppercase) then
Hallo,
die NichtBeachtung von Groß und Kleinschreibung (in VBA) ist doch Standard. Das musst Du verstellt haben. Was steht im Kopf (ganz oben) des Klassen/Formular Moduls ?
ich weiß nicht genau welchen Bereich Du meinst, daher habe ich mal ein Screenshot gemacht)
Welche Einstellung müssen gesetzt sein, damit das Nichtbeachten von Groß- und Kleinschrift wieder, ohne VBA, funktioniert?
Danke
Wenn ich jetzt mehrere Benutzer habe (sind ca. 130) muss ich dann von jedem den Benutzernamen in dem Code in "" schreiben? ::)
f strconv(Benutzername.value, vbuppercase) = strconv("admin", vbuppercase) then
Hallo,
vergleich doch so (ohne jetzt auf die Behandlung von "leeren" Passwörtern einzugehen):
If StrComp(Passwort, DLookup("PW", "tblUsers", "Username='" & Benutzername & "'"), vbBinaryCompare) = 0 Then
.
.
Das Passwort für den Benutzer wird aus der tblUsers (erzeuge sie , falls sie noch nicht existiert) gelesen und binär mit dem eingegebenen PW verglichen....
Beim Benutzernamen ist es egal, ob Groß- oder Kleinbuchstaben....
Hallo,
ergänze wie folgt:
Option Compare Database ' Diese Zeile einfügen
Option Explicit
.
.
Zitat von: Auszug aus der Access HilfeEnthält ein Modul keine Option Compare-Anweisung, so ist Binary das verwendete Standardverfahren.
Das heißt, ohne diese Option wird Groß/Kleinschreibung berücksichtigt.
Danke MzKlMU !
Jetzt mal zurück zum Beitrag von DF6GL.
Danke für den Vorschlag werde ich auf jeden Fall machen, da ich noch ein Registrierungsformular einbauen möchte, kommt die tblUsers genau richtig.
Ich habe aber jedes Formular in 2 Ausführungen - für Mitarbeiter die Adminrechte haben und für Mitarbeiter die keine Adminrechte haben - wenn ich jetzt die tblUsers erstelle und das PW mit dem eingegeben verglichen wird, wie kann ich nun die Zuweisung für die Mitarbeiter machen - also spricht bei einem (Adminrechte) wird das FormularF geöffnet, beim anderen (keine Adminrechte) wird das FormularF_Mitarbeiter geöffnet...
Kann mir da Jemand helfen?
danke
Hi,
dazu fügst du in der Benutzertabelle ein Kennzeichen hinzu, damit du unterscheiden kannst ob es sich um einen Mitarbeiter oder Admin handelt. Das liest du genauso aus wie das Passwort, das du ja für den Vergleich brauchst.
Ich würde es mir aber noch einmal gut überlegen, ob du wirklich alle Formulare doppelt anlegen (und pflegen) willst. Evtl. Sperrungen oder Ausblendungen lassen sich auch dynamisch beim Öffnen der Formulare vornehmen.
Du sagst es - war ein ziemlicher Aufwand, da ich nicht wusste wie ich das anders lösen könnte, habe deshalb die Formulare jeweils doppelt erstellt :-\ :-\
Habe jetzt ein Profilformular erstellt, habe dazu wie DF6GL geraten hat, eine Tabelle tblUsers erstellt. Nun möchte ich dass aber nur die Daten vom eingeloggten Mitarbeiter in diesem Profilformular angezeigt werden...
Wie kann ich das machen?
Also mein Benutzername beim LoginFormular entspricht dem Username beim ProfilFormular und zu diesem Username gibt es in der tblUsers Informationen wie Vorname, Nachmache etc. und diese sollen der jeweils eingeloggten Person sichtbar sein. Wie kann ich das realisieren?)
Danke Euch
Hallo,
zusätzlich zu PW und Admin-Kennzeichen liest Du die ID des Users in eine globale Variable ("pblUserID") aus. Mit diesem ID-Wert wird das Profil-Formular beim Öffnen gefiltert:
Docmd.Openform "frmProfil",,,"UserID = " & pblUserID
komme nicht ganz dahinter...
so wie Du es geschrieben hast klappt es nicht! Muss die Variable nicht noch definiert werden?
MfG
Hallo,
ja natürlich... und weil es sich um eine globale Variable handelt, muss die Deklaration in einem Standardmodul stehen:
Option Compare Database
Option Explicit
Public pblUserID As Long
Diese Variable setzt Du, wie beschrieben, mit dem ID_Wert des Benutzernamen-Datensatzes