Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Groß - und Kleinschreibung ignorieren

Begonnen von mustermann, April 28, 2016, 13:01:35

⏪ vorheriges - nächstes ⏩

mustermann

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

Wurliwurm

If strconv(Benutzername.value, vbuppercase) = strconv("admin", vbuppercase) then

MzKlMu

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 ?
Gruß Klaus

mustermann

ich weiß nicht genau welchen Bereich Du meinst, daher habe ich mal ein Screenshot gemacht)

mustermann

Welche Einstellung müssen gesetzt sein, damit das Nichtbeachten von Groß- und Kleinschrift wieder, ohne VBA, funktioniert? 
Danke

mustermann

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


DF6GL

#6
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....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

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.
Gruß Klaus

mustermann


mustermann

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

MaggieMay

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.
Freundliche Grüße
MaggieMay

mustermann

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

DF6GL

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
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mustermann

komme nicht ganz dahinter...
so wie Du es geschrieben hast klappt es nicht! Muss die Variable nicht noch definiert werden?

MfG

DF6GL

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
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access