Datensätze vergleichen

  • Themenstarter Themenstarter Dein Pseudonym
  • Beginndatum Beginndatum
Wie sieht denn das Formular bzw. die Abfrage des Benutzers aus?

Wenn du bei der Anmeldung den Benutzernamen in einer globalen Variablen speicherst, muss dieser Wert/diese Variable überall verfügbar sein. Du kannst ja mal diese Variable überwachen (Debuggen -> Überwachung hinzufügen). Dann siehst du wo sie einen Wert erhält und wo dieser eventuell überschrieben wird.

Gruß Thomas
 
das hier ist mein anmeldefenster....

Option Compare Database
Option Explicit

Private Sub Befehl62_Click()

Dim a As Integer

a = MsgBox("Anmeldung Abbrechen?", 36)
If a = 6 Then
DoCmd.Close acForm, Me.Name
End If

End Sub

Private Sub Befehl69_Click()

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

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

' User und Recht merken
NUser = NetzUser.Column(0)
Recht = NetzUser.Column(3)
DsAenderbar = NetzUser.Column(4)



' Willkommen Dialog
MsgBox "Anmeldung Erfolgreich"

' Hauptmenü öffnen
DoCmd.OpenForm "frmGerät"

' Form schliessen
DoCmd.Close acForm, Me.Name

ende:
End Sub

Private Sub Form_Current()

On Error GoTo fehler

' Datum im Formular anzeigen
Caption = " " + Format(Now, "dddd dd. mmmm yyyy")

ende:
Exit Sub

fehler:
Resume ende

End Sub
 
Unformatierter Code zu lesen ist wirklich blöd ! ! ! !

Wo werden denn die Werte für z.B. NetzUser.Column(0) erstellt bzw. enthält es überhaupt einen Wert ?

Außerdem hast du so wie ich das sehe die Sprungmarke "ende" zum einem doppelt definiert und zum anderen ist sie doch unnötig. Schreibe doch einfach gleich "Exit Sub" da hin wo jetzt "GoTo ende" steht.
 
Sry wuste nich wie ich das sonst machen sollte....

also die variable NetzUser is ein komdinationsfeld mit 4 gebundenen spalten. und die daten kommen aus einer abfrage. laut überwachung is in NetzUser.Column(0) der user hinterlegt..
 
Und was sagt die Überwachung wenn du das andere Formular öffnest
Oder gib einfach mal in dem Formular ein:

Code:
Caption = NUser
 
ah jetz gehts, nun zeigt er den user auch im 2ten formular an. da war nurn kleiner denkfehler drin^^

nu hab ich noch das problem mit dem filter...
 
So gehts:

Code:
Private Sub Form_Open(Cancel As Integer)
    Me.RecordSource = "SELECT * FROM tabellenname WHERE dein_feld = '" & NUser & "'"
End Sub

Die entsprechenden Werte für die Tabelle bzw. das Feld musst du noch anpassen!!
 
Zeig mal die SQL Anweisung bzw. prüfe mal ob der Wert der Variablen NUser und das Feld in der Tabelle vom gleichen Datentyp sind.
 
hab noch mal nachgeguckt waren vom gleichen datentyp allerdings die anderen beiden globalen variablen nicht, hab das mal geändert. jetzt macht er zwar das formular auf aber wenn ich durch die datensätze navigieren will sagt er eine ereignisprozedur/makro hat einen fehler verursacht. mit den sql anweisungen hab ich mich irgendwie gestritten da is bei mir irgendwie immer der wurm drin.

Me.RecordSource = "SELECT * FROM tbl-Netzwekuser WHERE NetzwerkUserID = '" & NUser & "'"
 
Zurück