Benutzername und Passwort (Formular, VBA)
Henry
Gesendet: 19.03.14 06:26
Betreff: RE: Benutzername und Passwort (Formular, VBA)



Ort: Phuket, Thailand
Hallo Hune

Leider lädt das Youtube Video bei mir nicht richtig, rsp. nur sehr, sehr langsam.

So kompliziert ist das aber auch ohne Vido nicht.

Lege eine Tabelle an, in der die Benutzernamen und die Passworte abelegt sind. ([MyUsers] / [UserName] / [Password])
Erzeuge dann ein Formular, in welchem der Benutzername und das Passwort eingegeben werden kann. Dieses Formular _nicht_ an die Tabelle binden.

Wenn der Benutzer auf den OK Button klickt, dann kontrollierst Du z.B. mit einem Lookup, ob dieser Username und das Passwort korrekt eingegeben wurden.

Am einfachsten geht da mit ein bisschen VBA Code hinter dem Click Ereignis des Login Buttons (Name: cmdLogin):

Private Sub cmdLogin_Click()
If DCount("*", "MyUsers", "UserName='" & Me!UserName & "' AND Password='" & Me!Password & "'") > 0 Then
MsgBox "Eingaben korrekt"
Else
MsgBox "falsche Eingaben"
End If
End Sub

Statt MsgBox("Eingaben korrekt") kannst Du nun das gewünschte Start Formular (z.B. Switchboard) öffnen
Wenn die Eingaben falsch sind, kannst Du z.B. einen Zähler hochzählen und dann nach dem 3. Versuch Access verlassen.
Den Zähler kannst Du im Klassenmodul ganz oben definieren.

Der Code hinter dem Formular sieht dann etwa so aus:

Option Compare Database
Option Explicit

Dim I As Long

Private Sub cmdLogin_Click()
If DCount("*", "MyUsers", "UserName='" & Me!UserName & "' AND Password='" & Me!Password & "'") > 0 Then
DoCmd.Close acForm, Me.Name, acSaveNo
DoCmd.OpenForm "Switchboard"
Else
I = I + 1
If I < 3 Then
MsgBox "User nicht vorhanden oder falsches Passwort. " & vbCrLf & vbCrLf & 3 - I & " verbleibende Versuche.", vbInformation
Else
MsgBox "User nicht vorhanden oder falsches Passwort." & vbCrLf & vbCrLf & "Anwendung wird beendet.", vbExclamation
DoCmd.Quit acQuitSaveNone
End If
End If
End Sub

Private Sub Form_Open(Cancel As Integer)
I = 0
End Sub

Nun musst Du nur noch dieses Formular als Start Formular Deiner Anwendung festlegen und dann hast Du Dein vorgeschaltetes Login.

Nun kannst Du noch das Formular ein bisschen "verschönern", rsp. es so formattieren, dass es wie ein Login aussieht.

Zur Frage nach dem Recordset:
Ein Recordset ist ein Objekt (z.B. in VBA), welches den Inhalt einer Tabelle oder einer Abfrage representiert. Dieses ist eine Liste (Set) von Datensätzen (Records). Weitere Details findest Du in der Hilfe von Access.

Gruss
Henry


Top of the page Bottom of the page