Login-Vorgang für Access-Datenbank programmieren

danielandross

Erfahrenes Mitglied
Hallo zusammen,
ich habe mal wieder ein VBA Problem. Ich sollte ein Formular machen das Benutzernamen und login abfragt und wenn es mit einem datensatz aus einer Datenbank übereinstimmt ein anderes Formular starten als wenn es keinen passenden Eintrag gibt. Ich habe aber leider keine Ahnung von VBA :(
Könnt ihr mir vielleicht sagen wie sowas gehen könnte?

Gruß
Daniel
 
Hy

siehe Anhang wenn Fragen da sind fragen. Access 2000 format !

Name wählen und Passwort währe jeweils immer die 1.

In der Tabelle Personal kann man dann auf erweitert /einfach umstellen.

Erweitert bedeutet das im 2 Fenster die Tabelle Personal geöffnet werden kann. Andere User die einfach sind bekommen eine Fehlermeldung.

Bye
Sascha
 

Anhänge

Zuletzt bearbeitet von einem Moderator:
hm leider bekomme ich keinen zugriff auf die Buttons in denen das Passwort geprüft wird, und kann deshalb den Code nicht sehen. Kannst du den Code hier posten oder ist das Copyright? Gibt es für sowas keine Erklärung im Internet?
 
Hallo

Öffne die DB und klicke auf Startbild...

Nun muss man erst den Namen und das zugehörende Passwort eingeben.
Sobald User und Passwort festgelegt wurde wird mit dem Button "Starten" geprüft ob der User bzw. das Passwort übereinstimmt.

In diesem Beispiel ist bei jedem User die 1 als Passwort hinterlegt.

Nun sollte sich das Fenster "Hauptmenü" öffnen und du siehst den User seine Rechte und eben den Button LOGIN ....



Ich hoffe du konntest folgen.

Den Code posten würde ich gerne da bin ich aber sehr überfragt. Weil dieses Anmelden und Rechte merken .... ein Modul brauch. Namens M_Variablen



Falls fragen sind FRAGEN !

Bye Sascha


PS:. Ach ja ganz vergessen ! Du musst erst dich anmelden bei der Datenbank um die Codes zu sehen.
(macht ja auch Sinn bei einem Anmelden ?!)
 
Zuletzt bearbeitet von einem Moderator:
Hallo,
ich ahbe schon verstanden wie der Login Vorgang funktioniert. Ich kann aber nicht nachvollziehen wie ich das auf meine Datenbank übertragen kann.

Ich habe mal das Modul in meine Datenbank kopiert. Die Frage ist was ich darin abändern muss damit es meine Mitarbeiterliste findet und dort Name und Passwort vergleichen kann. Und was mache ich dann mit dem Modul? Soll ich das durch einen Button in VBA aufrufen lassen? Und wenn ja wie geht das Module aufrufen, über einen Button.

Vielen Dank im Voraus
 
Abend.

Das Modul dient zum speichern des User und dessen Rechte.
siehe Modul M_Variablen oben (Global DBRecht As String,Global DBUser As String) um immer wieder zu prüfen darf er darf er nicht ?!

Der untere Teil des Moduls dient lediglich dafür das man sich erst einlogen muss und keine andere änderungen vornehmen kann.

Bei "Starten" Button im Formular "Startbild" wird geprüft ...


Private Sub starten_Click()

Dim PassOri As String

' >>>>>>>>>>>>>>>>>>>>>>>>>>>Füllen der Felder überprüfen<<<<<<<<<<<<<<<<<<<<<<<<<
If IsNull(KomBenu) Then
MsgBox "Bitte wählen Sie einen Mitarbeiter aus.", 64, "Firmennamen"
DBPass = Null
KomBenu.SetFocus
KomBenu.Dropdown
GoTo ende
End If
If IsNull(DBPass) Then
MsgBox "Bitte geben Sie das Passwort ein.", 64, "Firmennamen"
DBPass = Null
DBPass.SetFocus
GoTo ende
End If

' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Passwortkontrolle<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If DBPass <> KomBenu.Column(2) Then
MsgBox "Das eingegebene Passwort ist falsch. Bitte wiederholen Sie Ihre Eingabe.", 16, "Firmennamen"
DBPass = Null
DBPass.SetFocus
GoTo ende
End If

' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>User und Recht merken<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DBRecht = KomBenu.Column(3)
DBUser = KomBenu.Column(1)

' Hauptmenü öffnen
DoCmd.OpenForm "Hauptmenü"

' Form schliessen
DoCmd.Close acForm, Me.Name

ende:
End Sub


Dies müsste man schon abändern. Wie genau kann ich nicht sagen da ich nicht weiß wie die Tabelle und dessen Inhalt aussieht.

Poste doch deine *.mdb mal hier rein. So das ich dies schnell an deine bedürfnisse anpassen könnte.

Oder mail an RavelinePower@aol.de

MfG

Sascha
 
Zuletzt bearbeitet von einem Moderator:
Hi,
also die Tabelle in der Name und Passwort sind heißt tb_Mitarbeiter. Die Attribute die verglichen werden sollen heißen Name und Passwort (apropos wie bekomme ich es eigentlich hin dass nur *** angezeigt werden?)
Wäre toll wenn du mir das erklären könntest, weil ich den Login 2mal amchen sollte (einen für Kunden und einen für Mitarbeiter)
Gruß
Daniel
 
Zuletzt bearbeitet:
Hallo zu deiner Frage:.
(apropos wie bekomme ich es eigentlich hin dass nur *** angezeigt werden?)

Gehe in die Tabelle wo das Passwortfeld ist. (tb_Mitarbeiter)

Klicke auf Passwort und unten siehst du dann verschiedene Einstellungsmöglichkeiten.

Bei Eingabeformat gibts du dann einfach KENNWORT ein.

Ich habe die DB auf deine Tabelle eingestellt. Und sollte auch so ....

Wenn du unterscheiden musst zwischen Kunden und Mitarbeiter dann gib doch als Rechte anstatt "erweitert/normal" eben Kunde oder Mitarbeiter ein.

Die abfrage aktion ob User X darf oder nicht müsste dann aber lauten:

Private Sub BUTTON_Click()

If DBRecht = "Mitarbeiter" Then
MsgBox "Sie sind als Mitarbeiter gespeichert und haben dazu kein Recht dies auf zurufen!", 48, "DEIN FIRMANNAMEN "
Else
DoCmd.OpenTable "tb_Mitarbeiter" ' <<<< gehen auch andere Funktionen
End If

End Sub
 

Anhänge

Hallo Daniel

Der Starten Button hat bei Klicken eine Ereignissprozedur hinterlegt.

Gehe in den Entwurfsmodus..

Starten button re. klicken und auf Eigenschaften.

In der Liste Ereignis auswählen und du siehst das bei klicken eine [Ereignisprozedur] hinterlegt ist.

Was genau da geschieht habe ich Dir oben schon beschrieben....

Diese Prozedur wird nun bei klicken ausgeführt......

Private Sub starten_Click()

Dim PassOri As String

' >>>>>>>>>>>>>>>>>>>>>>>>>>>Füllen der Felder überprüfen<<<<<<<<<<<<<<<<<<<<<<<<<
If IsNull(KomBenu) Then
MsgBox "Bitte wählen Sie einen Mitarbeiter aus.", 64, "Firmennamen"
DBPass = Null
KomBenu.SetFocus
KomBenu.Dropdown
GoTo ende
End If
If IsNull(DBPass) Then
MsgBox "Bitte geben Sie das Passwort ein.", 64, "Firmennamen"
DBPass = Null
DBPass.SetFocus
GoTo ende
End If

' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Passwortkontrolle<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If DBPass <> KomBenu.Column(2) Then
MsgBox "Das eingegebene Passwort ist falsch. Bitte wiederholen Sie Ihre Eingabe.", 16, "Firmennamen"
DBPass = Null
DBPass.SetFocus
GoTo ende
End If

' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>User und Recht merken<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DBRecht = KomBenu.Column(3)
DBUser = KomBenu.Column(1)

' Hauptmenü öffnen
DoCmd.OpenForm "Hauptmenü"

' Form schliessen
DoCmd.Close acForm, Me.Name

ende:
End Sub

Bye Sascha
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück