PDA

Vollständige Version anzeigen : User anmeldung


Din
07.05.2004, 07:53
Hallo Leute.

ich weiß zum Thema Passwort gibt es jedemenge Einträge, aber nach langen stöbern im Forum hab ich ncihts passenden gefunden, was mir weiterhelfen könnte.

Mein Problem:

Ich habe eine Datenbank erstellt auf dei mehrere Benutzer zugreifen sollen. Ich möchte nun, dass beim Starten der Db ein Anmeldungsformular erscheint, in dem sich der Benutzer anmleden soll. Wichtig für mich ist dabei im Moment, dass der Benutzer beim ersten login sein eigenes Passwort definiert, mit dem er sich dann in zukunft anmeldet. Kann mir jemand sagen wie ich das bewerkstellige, bin nämlich noch ein rechter neuling in Access.

Schonmal Danke im vorraus!

stpimi
07.05.2004, 08:30
Dann mach ein Formular, in dem die Benutzerkennnung und das Passwort einzugeben ist. Dann prüfst Du (bei ButtonKlick oder wie auch immer) ob der Benutzer bereits ein Passwort hat.
Wenn ja, vergleichen mit der Eingabe und entsprechend weiter vorgehen.
Wenn nein, über eine Inputbox oder ein Bestätigungsfeld (das nur bei Bedarf sichtbar und aktiviert wird) das Passwort nochmals eingeben lassen und dann in der DB vormerken (SQL Update).

Ist der Benutzer nicht in der DB, Fehlermeldung wegen verständigung des Administrators.

Mfg, Michael

piano
07.05.2004, 09:07
Hallo
Ich habe hier ein Beispiel:
Datenbank: Benutzer mit Feldern ID, User, Passwort
Formular: mit Textfeldern Benutzer, Passwort, Bestätigung
Textfelder Passwort und Bestätigung durch Formatierung unsichtbar machen.
Textfeld und zugehöriges Bezeichnungsfeld: Eigenschaft Sichtbar= nein
Dazu ein Button zum Starten des Folgeformulars.
Der passende VBA-Code dazu:
Option Compare Database

Private Sub Befehl6_Click()
On Error GoTo Err_Befehl6_Click
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Benutzer WHERE User = '" & Me.Benutzer & "'")
If rs.EOF Then
MsgBox ("???")
Exit Sub
Else
If IsNull(rs!Passwort) Then
'neuer Benutzer Passwort eintragen
If IsNull(Me.Passwort) Or IsNull(Me.Bestätigung) Or Me.Passwort <> Me.Bestätigung Then
MsgBox ("Fehler in Passworteingabe")
Me.Passwort = Null
Me.Bestätigung = Null
Me.Passwort.SetFocus
Exit Sub
End If
rs.Edit
rs!Passwort = Me.Passwort
rs.Update
Else
If Me.Passwort <> rs!Passwort Then
MsgBox ("Falsches Passwort")
Me.Passwort = Null
Me.Passwort.SetFocus
Exit Sub
End If
End If
' Passwort OK
End If
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "MeinFormular"
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.Close acForm, "Einstieg"
Exit_Befehl6_Click:
Exit Sub

Err_Befehl6_Click:
MsgBox Err.Description
Resume Exit_Befehl6_Click

End Sub

Private Sub Benutzer_AfterUpdate()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Benutzer WHERE User = '" & Me.Benutzer & "'")
If rs.EOF Then
'neuer Benutzer
If Not MsgBox("Neuen Benutzer anlegen ?", vbYesNo) = vbYes Then
Exit Sub
End If
Me.Bestätigung.Visible = True
Me.Bestätigung_Bez.Visible = True
rs.AddNew
rs!User = Me.Benutzer
rs.Update

End If
rs.Close

End Sub

stpimi
07.05.2004, 09:27
Kleine Anmerkung zum Code:

Es sollte (ist sauberer) Me!Passwort etc.... heissen. Siehe auch FAQ 6.3 (Link in meiner Fusszeile zur genaueren Erklärung).

Mfg, Michael

Din
07.05.2004, 09:40
Ich hab jetzt das Formular erstellt und die Tabellen Namen im Code an meine angepasst, aber ich bekomme jetzt die Fehlermeldung "1 Parameter wurde erwartet, aber es wurden zu wenige Parameter übergeben". Diese Meldung verweist auf folgende Zeile:

Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE User = '" & Me.Username & "'")



Diese Mledung ist mir schon öffters begegnet, aber ich hab noch nicht reusgefunden wie ich sie abstellen kann.

stpimi
07.05.2004, 09:46
Besser ist es, des SQL-Code vorher in einer Stringvariablen zusammenzusetzen - dann kann man den Inhalt im Direktfenster kontrollieren.

Ersetz mal den Punkt durch ein Rufzeichen.
Oder ist Username eine Zahl? Dann wären die Hochkomma falsch.

Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE User = '" & Me!Username & "'")

Mfg, Michael

Din
07.05.2004, 09:50
Hab den Punkt zwar jetzt durch ein ! ersetzt, aber die Meldung erscheint immer noch.

Username ist als Text definiert!

Arne Dieckmann
07.05.2004, 09:56
Und das Feld "User" gibt es in der Tabelle auch? Verwende auf jeden Fall den Feldnamen, nicht die Beschriftungseigenschaft des Feldes aus dem Tabellenentwurf!

Evtl. ist "User" auch ein Nachschlagefeld. Welchen Datentyp besitzt das Feld (Du sprichts ja nur von "Username" im Formular)?

stpimi
07.05.2004, 09:57
Setz mal einen Strichpunkt an das Ende des SQL-Strings.

Mfg, Michael

Din
07.05.2004, 10:05
Hallo Leute,

ich kann mich jetzt zwar einlogen, aber jeder Benutzer soll beim ersten login sein eigenes Passwort eingebenkönnen, mit dem er sich dann auch in zukunft anmeldet. Kann man in meinen Code so etwas einbauen?

stpimi
07.05.2004, 10:10
Das sollte eigentlich im Code von Piano enthalten sein:

If IsNull(rs!Passwort) Then
'neuer Benutzer Passwort eintragen
If IsNull(Me.Passwort) Or IsNull(Me.Bestätigung) Or Me.Passwort <> Me.Bestätigung Then
MsgBox ("Fehler in Passworteingabe")
Me.Passwort = Null
Me.Bestätigung = Null
Me.Passwort.SetFocus
Exit Sub
End If
rs.Edit
rs!Passwort = Me.Passwort
rs.Update
Else

Wenn kein Passwort gefunden wurde, wird geprüft, ob eines eingegeben wurde, ob die Bestätigung eingegeben wurde und beide gleich lauten. Dann kommt das Programm ins Edit des Recordsets und macht ein Update auf die Tabelle.

Mfg, Michael

Din
07.05.2004, 10:14
Ich hab nochmal geguckt und es ist im Code enthalten, ich bekomme aber beim anlegen eines neuen Benutzer die Fehlermaeldung, das mein Bestätigungsfeld des Passworts nicht gefunden werden kann, liegt es daran, dass ich es mit Sichtbar: Nein definiert habe? Was kann ichmachen damit das neuanmelden eines Benutzers doch funktioniert?

stpimi
07.05.2004, 10:18
Am Sichtbar = Nein kann es nicht liegen. Prüf mal, wie das Feld im Formular heisst (Eigenschaften/Andere/Name). Vielleicht ist da ein Tippfehler?

Wenn Du den Code von Piano 1:1 verwendet hast, ist zu beachten, das auch ein Bezeichnungsfeld angesprochen wird, dessen Name ebenfalls richtig im Code stehen muss.

Mfg, Michael

Din
07.05.2004, 10:25
Hab vergessen beim Bezeichnungsfeld den Namen zu ändern. Jetzt klappt das einlogen , aber wenn ich einen neuen User anlegen will kommt zuerst die Frage "Neuen User anlegen?" und wenn ich dies mit Ok bestätige, kommt eine InputBox mit der Meldung "Fehler bei Passwort eingabe!" Warum?

hab ich ganz vergessen, desweitern kann ich mich auch ohne Passworteongabe einlogen wenn der Benutzer gegistriert ist, Das ist aber doch falsch! Bin jetzt etwas verwirrt. :confused:

stpimi
07.05.2004, 10:31
Die Meldung kommt, wenn Du auf den Button klickst und zu diesem Zeitpunkt Passwort und Bestätigung leer sind.

Ich würde grundsätzlich die Anlage von neuen Benutzern vom Anmeldeformular trennen, da das eine reine Administratorfunktion ist.

Mfg, Michael

piano
07.05.2004, 11:14
Hallo allerseits
Daß dies nicht die optimale Lösung ist, ist wohl klar. Sauberer wäre, den User über Dim ws As Workspace
Set ws = DBEngine.Workspaces(0)
usName = ws.UserName
zu eruieren und dann die Passwort-Routinen dazu zu bauen.
Dieser Code sollte auch nur als Grundlage dienen. Klarerweise sind hier nicht alle Umgehungsversuche abgedeckt!
Wer so eine Aufgabe lösen will, sollte sich schon ein wenig mit VBA auseinandersetzten und Adaptierungen selber vornehmen können.

Din
10.05.2004, 09:39
Hallo Leute,

hab übers Wochenende noch ein bisschen getüpftelt und jetzt klappt alles. Nochmal besten Dank für Eure Unterstützung.

Gruß Nadine

TommyK
13.05.2004, 13:30
Hallo,

vielleicht interesiert es noch jemanden.
Zu diesem Thema hier hab ich auf meiner HP ein neues Bsp erstellt.
Beispiel-DB für eine Userverwaltung mit verschlüsselten Passwörtern und verschiedenen Rechten (http://access-beispiele.tommyk-webbox.de/index.htm)

Din
14.05.2004, 09:29
Hallo Leute,

ich habe mittlerweile ein login-Formular und ein NeuerUserAnmelden-Formular erstellt, die auch soweit funktionieren.Jetzt möchte ich, dass sich nur vor bestimmte User anmelden können, dazu habe ich in einer Tabelle Namen angelegt zu denen der User sein individuelles passwort eingeben muss.
Problem ist jetzt aber, dass auch User die noch nicht in der Tabelle angelegt sind sich neu Anmleden können, was ich vermeiden bzw. abstellen möchte. Kann mir jemand sagen wie ich das anstelle???

Arne Dieckmann
14.05.2004, 10:32
Sorry, aber: Könntest Du Dir einmal angewöhnen etwas mehr als immer solch vage Andeutungen zu machen? Danke.

Es ist immer mühselig nach dem momentan verwendeten Code, den Tabellen etc. zu fragen. Wer weiss, was Du an dem besagten Wochenende gebastelt hast ...

Din
14.05.2004, 10:43
Sorry!!! :rolleyes:

Hier der Code in meinem Anmeldungformular:

Private Sub OK_Click()

On Error GoTo Err_OK_Click
Dim db As Database
Dim rs As Recordset
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "login"

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE Username = '" & Me!Username & "'")

'Neuer User

Me!PasswortWiederholen.Visible = True
Me!PWwiederholen.Visible = True
rs.AddNew
rs!Username = Me.Username
rs!Passwort = Me.Passwort
rs.Update

If IsNull(Me!PWwiederholen) Then
MsgBox ("Passwort muss bestätigt werden!")
Me!PWwiederholen = Null
Me!PWwiederholen.SetFocus

Exit Sub
rs.Edit
rs!Passwort = Me!Passwort
rs.Update


End If

DoCmd.Close acForm, "Anmeldung"



DoCmd.OpenForm stDocName, , , stLinkCriteria
'DoCmd.CloseForm acform, "Anmeldung"

Exit_OK_Click:
Exit Sub

Err_OK_Click:
MsgBox Err.Description
Resume Exit_OK_Click

End Sub



In diesen Code würde ich gerne einbauen, das nicht jeder beliebeige sich als User anmelden kann!

Hoffe das dies erstmal ausreichende Info ist.

Din
17.05.2004, 06:34
Hallo Leute,

sorry, wenn ich mich manchmal etwas unverständlcih ausdrücke , aber es wäre trotzdem furchtbar nett von Euch, wenn mir jemand bei meinem Problem helfen könnte.

DANKE!!! :angel:

tasmanien
17.05.2004, 06:56
Hallo Din,

Jetzt möchte ich, dass sich nur vor bestimmte User anmelden können, dazu habe ich in einer Tabelle Namen angelegt zu denen der User sein individuelles passwort eingeben muss.

führ dir Arnes Hinweis nochmal zu Gemüte. Ich bin mir auch nicht so ganz sicher, was du willst.
Vielleicht haut das hin:



Prüfe über eine Bedingung ab, ob der angemeldete User in deiner Tabelle angelegt ist, wenn nit --> application.quit :)

so ungefähr:


Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE Username = '" & Me!Username & "'")

'....

IF isnull(rs!Username) then
msgbox "Keine Zugangsberechtigung! Programm wird geschlossen!"
application.quit

Else:


'Neuer User

Me!PasswortWiederholen.Visible = True
Me!PWwiederholen.Visible = True
rs.AddNew
rs!Username = Me.Username
rs!Passwort = Me.Passwort
rs.Update

If IsNull(Me!PWwiederholen) Then
MsgBox ("Passwort muss bestätigt werden!")
Me!PWwiederholen = Null
Me!PWwiederholen.SetFocus
....
End If

Din
17.05.2004, 07:13
Hallo tasmanien,

das funzt leider auch nicht. Aber ich versuch nochmal zu erklären was ich bis jetzt gemacht habe bzw. was ich vorhabe.

Also, ich habe ein Anmeldungsformular für neue User, indem Username und Passwort sowie eine Passwortwiederholung eingegeben werden. Zu diesem Formular habe ich eine Tabelle "Passwort" angelegt, in der die Username der User die sich anmelden dürfen eingetragen sind.
Jetzt funktioniert mein Code soweit, dass scih nur User anmelden können die auch in der Tabelle eingetragen sind und sobald sich jemand anmelden möchte der nicht in der Tabelle "Passwort" angelegt ist, kommt eine MsgBox "Kein Datensatz vorhanden". Ich möchte aber das die Meldung "Keine Zugangsberechtigung! programm wird geschlossen!" angezeigt wird und das Programm auch geschlossen wird!
Hoffe man kann jetzt einigermaßen verstehen was ihc meine.

Der Code ist immernoch der selbe den ich drei Einträge zuvor eingestellt habe.

Ich hab so das Problem, das ich nicht immer weiß was jetzt eichtig ist zum einstellen und wie ich das ganze in Worte packen soll.

SORRY!!! :angel:

tasmanien
17.05.2004, 08:27
Das Problem ist, dass bei deiner Selektion kein recordset gefunden wird. Ich bin mir zwar nicht im klaren, wie dein ganzes Werk aufgebaut ist, aber entweder funktioniert das:

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim stDocName As String
Dim strsql As String

Dim stLinkCriteria As String

stDocName = "login"


strsql = "SELECT * FROM tblPasswort where tblpasswort.username = '" & Me!Username & "';"

Set db = CurrentDb
Set rs = db.OpenRecordset(strsql, dbOpenDynaset)

If IsNull(DLookup("Username", "tblpasswort", "username = forms!frmAnmelden!Username ")) Then
'ich glaube bei dir heisst die Form >Anmeldung<

MsgBox "Keine Zugangsberechtigung! Programm wird geschlossen!"
Application.Quit

Else:

....



oder du schiebst das Teil zum Download mal ins Forum.

Din
17.05.2004, 09:22
Hallo Jochen,

dass funzt einwandfrei. Danke!!! :)

Din
17.05.2004, 09:34
Mir ist da gerade noch ein kleines Problem aufgefallen.

Wie bereits gesagt, trage ich bevor sich ein neuer User anmelden kann, seinen Username in die tblPasswort ein. Wenn der neue User sich nun anmeldet, wird automatisch ein neuer Datensatz mit dem Entspechenden Usernamen und Kennwort in der tblPasswort angelegt. Daraus folgt, dass ich zwei gleiche Datensätze in meiner tblPAsswort habe, wobei einer mit und einer ohne Passwort ist.

Wie kann man denn definieren, dass das Passwort in die bereits vorhandene Zeile des User-Datensatzes eingetragen wird???

Hoffe es ist verständlich genug. Meinen Code habe ich bereits einige Einträge zuvor eingestellt.

tasmanien
17.05.2004, 10:09
1. Mach aus dem Feld Username in deiner Tabelle einen Primary key. Dadurch wird der 2. Eintrag abgewiesen.

2. Du kannst die Überprüfung, ob der User schon existiert per VBA weiterentwickeln.

Din
17.05.2004, 10:28
Das hab ich gemacht, aber jetzt bekomme ich beim neu anmelden eines Users die Fehlermeldung

" Die von Ihnen vorgenommene Änderungen konnten nicht vorgenommen werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Werte enthalten würde. Ändern sie die Daten in den Feldern, die gleiche Daten enthalten, entfernen sie den Index oder definieren sie den Index neu, damit doppelte Einträge möglcih sind" ,

Aber genau das möchte ich ja vermeiden, ich möchte ja keine doppelt Einträge haben. Kann man das auf eine Andere Art realiseren? :confused:

tasmanien
17.05.2004, 11:24
Ich habe bis jetzt folgendes kapiert:

1. Es sollen sich nur angelegte User einloggen können.
--> wenn ein nichtangelegter User sich anmeldet, fliegt er wieder raus.

2. Wer legt die User in der Tabelle tblUser an?
--> wenn die sich selber anlegen können, brauchst du doch keinen Zugangsschutz.

Din
17.05.2004, 11:27
Du hast das schon richtig verstanden. Ich lege die User in der Tbl an und die User selbst sollen beim ersten Einloggen ihr eigenes Passwort eigeben!

reinir
17.05.2004, 11:40
wenn Du nachwievor wie auf Seite 2 (kennt sich eigentlich in diesem Thread noch wer aus :confused: ) versuchst mit Rs.AddNew zu arbeiten, sollte Dir schon alleine das Wort AddNew zu denken geben - oder :confused:

ach ja - es gibt auch Online-Hilfen bei Access, die Suchfunktion hier im Forum, aber sei's drum ...

falls das überhaupt noch der Code ist, von dem hier gesprochen wird dann ersetzt mal das AddNew durch ein Edit

Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE Username = '" & Me!Username & "'")

'....

IF isnull(rs!Username) then
msgbox "Keine Zugangsberechtigung! Programm wird geschlossen!"
application.quit

Else:


'User

Me!PasswortWiederholen.Visible = True
Me!PWwiederholen.Visible = True
rs.Edit
rs!Username = Me!Username
rs!Passwort = Me!Passwort
rs.Update

If IsNull(Me!PWwiederholen) Then
MsgBox ("Passwort muss bestätigt werden!")
Me!PWwiederholen = Null
Me!PWwiederholen.SetFocus
....
End If


Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Din
26.07.2004, 07:00
Hallo Leute,

habe eine neue Frage zum Thema "User anmelden!"

Ich habe mir folgenden Code zusammengebaut:

[Private Sub OK_Click()

On Error GoTo Err_OK_Click
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim stDocName As String
Dim strSQL As String
Dim stLinkCriteria As String

stDocName = "login"

strSQL = "SELECT * FROM tblPasswort WHERE tblPasswort.Username = '" & Me!Username & "';"

Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

'Neuer User

If IsNull(DLookup("Username", "tblPasswort", "Username = forms! Anmeldung!Username")) Then
MsgBox "Keine Zugangsberechtigung! Programm wird geschlossen!"
Application.Quit


Else

Me!PasswortWiederholen.Visible = True
Me!PWwiederholen.Visible = True
rs.Edit
rs!Username = Me.Username
rs!Passwort = Me.Passwort
rs.Update


If IsNull(Me!PWwiederholen) Then
MsgBox ("Passwort muss bestätigt werden!")
Me!PWwiederholen = Null
Me!PWwiederholen.SetFocus

Exit Sub
rs.Edit
rs!Passwort = Me!Passwort
rs.Update


End If
End If


DoCmd.Close acForm, "Anmeldung"



DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_OK_Click:
Exit Sub

Err_OK_Click:
MsgBox Err.Description
Resume Exit_OK_Click

End Sub]

Dieser Code funktioniert auch soweit, aber ich möchte gerne noch prüfen, ob im Formular ein Username eingegeben wurde. Im Moment wird die Db geschlossen, wenn ein falscher Username oder kein Username eingegeben wurde.

Ich wollte dies über die Codezeile

If rs.EOF Then
MsgBox ("Benutzername eingeben!")

End If

machen, die nach 'Neuer User' stehen soll. Da erscheint zwar auch eine MsgBox, aber wenn man diese bestätigt kommt die nächste und die Db wird auch geschlossen.

Hoffe ich hab mich einigermaßen verständlich ausgedrückt und mir kann jemand helfen?! :angel:

stpimi
26.07.2004, 07:31
If IsNull(Me!Username) Then
MsgBox "Bitte geben Sie einen Benutzernamen ein!"
Exit Sub
End if

Das ganze muß sinnvollerweise wohl vor "neuer User" stehen, da dort ja die DB geschlossen wird.

Ausserdem fällt mir gerade etwas auf:

If IsNull(DLookup("Username", "tblPasswort", "Username = forms! Anmeldung!Username"))

ist nicht korrekt!

Richtig:

If IsNull(DLookup("Username", "tblPasswort", "Username = " & forms! Anmeldung!Username))

Din
26.07.2004, 07:40
Danke, genau das hab ich gesucht!

Din
27.07.2004, 06:48
Hallo Leute,

mir ist da desweiteren etwas aufgefallen, was ich nach längerer Überlegung nicht selbst in den Griff bekomme.
Und zwar ahbe ich neben meinem "Neuen User Anmelden"-Formular ein login-Formular für bereits registrierte User.
Der Code dazu lautet:

Private Sub login_Click()

On Error GoTo Err_login_Click
Dim db As Database
Dim rs As Recordset
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Hauptauswahl"

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM tblPasswort WHERE Username = '" & Me!Username & "'")


If rs.EOF Then
MsgBox ("Benutzername und Passwort eingeben!")
Me!Username.SetFocus

Else

If IsNull(Me!Passwort) = True Then
MsgBox ("Passworteingabe fehlt")

Else


If Me!Passwort = rs!Passwort Then

DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.Close acForm, "login"

Else

MsgBox ("Fehler in Passworteingabe")

End If
End If
End If

rs.Close

Exit_login_Click:
Exit Sub

Err_login_Click:
MsgBox Err.Description
Resume Exit_login_Click

End Sub


Jetzt möchte ich aber, wenn jemand versehendlich einen falschen Usernamen eingibt, dass eine MsgBox mit dem Inhalt "Bitte korrektes Passwort eingeben" geöffnet wird.
Derzeit kommt die Meldung "Benutzername und Passwort eingeben" egal, ob kein Username oder ein falscher Username eingegeben wurde.

Hab schon ein bisschen rumgebastelt, aber keine Lösung gefunden.

Kann mir jemand helfen???


AD: Code-Tags gesetzt. S. dazu auch Darstellung von Code-Abschnitten (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=102899#usec).

stpimi
27.07.2004, 07:34
Bitte Code-Tags verwenden, dann ist das ganze leichter lesbar!

Einen Unterschied zwischen einem nicht vorhandenen und einem falsch eingetippten Usernamen wirst Du nicht feststellen können. Der eingegebened Wert steht nicht in der Datenbank. So intelligent ist Access nicht, daß es aus einer Eingabe feststellen kann, was vielleicht gemeint war ....

Übrigens:
Die Reihenfolge der Prüfungen ist falsch.
Zuerst prüfen, ob etwas eingegeben wurde:

If IsNull(Username)
....

Dann Recordset aufbauen (bei leerer Eingabe sinnloser Aufwand!)

Din
27.07.2004, 07:39
Hallo Michael,

das mit der übersichtlichkeit des Codes Stimmt schon, aber ich weiß nicht so ganz was ich falsch mache, das er nicht wie bei Euch angezeigt wird.

Aber Danke für Dein Hilfe werde es dann so lassen wie es ist.