Hallo Liebe Access Helfer
Ich habe leider keine Ahnung wie ich weiter machen soll. Es klappt bei mir nicht. Ich will zugriffsrechte erteilen. Anhand einer Tabelle, wo die Benutzer, bzw Benutzername und Kennwort stehen.
Mein Ziel ist es, dass einer, bzw. eine Gruppe von personen, wenn sie die Datenbank öffnen, nur in einer Tabelle eine bestimmte Spalte verändern, bzw. löschen können. Es handelt sich dabei um Ist werte, die im nachhinein eingegeben werden.
Kann mir einer dabei helfen. Ich wäre ihn sehr dankbar dafür.
Option Compare Database
Option Explicit
Private Sub cmdAbbrechen_Click()
Dim answer As Integer
answer = MsgBox("Wirklich Schließen ?", vbQuestion + vbYesNo + vbDefaultButton2, "Message Box Title")
If answer = vbYes Then
DoCmd.Quit
'Else
' MsgBox "No"
End If
End Sub
Private Sub cmdLogin_Click()
Dim lngBenutzerID As Long, var1 As Variant
var1 = DLookup("BenutzerID", _
"tbl_Benutzer", "Benutzername = ''''" _
& Me!cboBenutzername _
& "'''' AND Kennwort = ''''" _
& Me!txtKennwort & "''''")
lngBenutzerID = Nz(var1, 0)
If lngBenutzerID = 0 Then
MsgBox "Benutzername und/oder " _
& "Kennwort sind falsch."
Me!txtKennwort.SetFocus
Else
MsgBox "Anmeldung erfolgreich!"
OptionEinstellen "CurrentUserID", _
CStr(lngBenutzerID)
DoCmd.Close acForm, Me.Name
End If
End Sub
Danke im voraus
Mfg
Hallo
ich habe das jetzt verbessert. Es findet trotzdem die Benutzer nicht.
MfG
Private Sub cmdLogin_Click()
Dim lngBenutzerID As Long
lngBenutzerID = Nz(DLookup("BenutzerID", "tbl_Benutzer", "Benutzername = '" & Me!cboBenutzername & "' AND Kennwort = '" & Me!txtKennwort & "'"), 0)
If lngBenutzerID = 0 Then
MsgBox "Benutzername und/oder Kennwort sind falsch."
Me!txtKennwort.SetFocus
Else
MsgBox "Anmeldung erfolgreich!"
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "Formular"
End If
End Sub
Hallo,
in einem solchen Fall, lässt man sich die Bedingung erst mal "aufgelöst" anzeigen:
debug.print "Benutzername = '" & Me!cboBenutzername & "' AND Kennwort = '" & Me!txtKennwort & "'"
Vielleicht findest du in dieser "Ansicht" den Fehler selbst.
Hallo,
wichtiger Zusatztipp: Mit Strg-G im VBA Editor öffnest du das Direktfenster, um das Ergebnis von
Debug.Print sehen zu können.
Wichtig ist, dass immer nur der Inhalt der gebundenen Spalte ausgewertet wird.
Das ist meistens die erste Spalte des Kombifeldes, auch wenn sie in der Ansicht des Kombifeles ausgeblendet ist.
Es kann ja jeder machen, wie er will, aber bei mir steht in der ersten Spalte immer der Primärschlüssel der
Tabelle/Abfrage und ist vom Datentyp Autowert, Long Integer.
Hallo Leute,
Danke für den tollen Tipp.
Habe mein Fehler erkannt und korrigiert. :)
MfG