Login mit access datenbank aber wie ?

trucidare

Mitglied
also ich hab hier meinen code

Code:
Private Sub cmdok_click()
StatusBar1.SimpleText = "Verbindung zur DB wird erstellt..."
	   
	   Set AdoCmd = New ADODB.Command
		Set conn = New ADODB.Connection
		Set rs = New ADODB.Recordset
		
		With conn
			.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb"
			ConStr = "c:\db1.mdb"
			.Provider = "Microsoft.Jet.OLEDB.4.0"
			
			.Open (ConStr)
			
			If .State = adStateOpen Then
				StatusBar1.SimpleText = "Verbindung offen!"
			Else
				MsgBox "Fehler beim öffnen..."
				Exit Sub
			End If
		End With
		
		
sql = "SELECT Passwort FROM Login WHERE Nickname = 'text2.text'"
hm = "rs.Open sql, conn"
If hm = Text1.Text Then
Label1.Caption = "hallo"
Else
Label1.Caption = "Disconnected"
End If
	   
End Sub

aber wenn ich nickname und passwort eingebe kommt einfach nur disconnected.

vielen dank für die hilfe.

NT
 
Hallo, versuch´s mal so:
Code:
sql = "SELECT Passwort FROM Login WHERE Nickname = " & Text2.Text
hm = rs.Open sql, conn
 
ne geht nich sorry..
also das problem ist ja das ich den wert "passwort" in der zeile wo benutzername den wert aus text2.text entspricht aber wie kann ich den denn ganz genau herausbekommen... sodasss ich den wert dann mit dem text1.text feld verglecihen kann..

danke schonmal
 
Probier es mal so:
Code:
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim dbdir As String

dbdir = "c:\db1.mdb"

With cn
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .Open (dbdir)
  If .State = adStateOpen Then
	StatusBar1.SimpleText = "Verbindung offen!"
  Else
                MsgBox "Fehler beim öffnen..."
	Exit Sub
  End If
End With

cmd.ActiveConnection = cn
cmd.CommandText = "SELECT COUNT(*) as anzahl FROM Login WHERE Nickname = '" & Text2.Text & "' AND Passwort = '" & Text1.Text "'"

Set rs = cmd.Execute

If rs!anzahl > 0 Then
  Label1.Caption = "hallo"
Else
  Label1.Caption = "Disconnected"
End If
 
Zuletzt bearbeitet:
Habe es mal getestet, so gehts.
Code:
' Verweis auf Microsoft ActiveX Data Objects 2.x Library nicht vergessen 

Dim DB As ADODB.Connection
Dim RS As ADODB.Recordset

Private Sub Form_Load()
Set DB = New ADODB.Connection
Set RS = New ADODB.Recordset

DB.CursorLocation = adUseClient
DB.Provider = "Microsoft.Jet.OLEDB.4.0"
DB.Open "C:\db1.mdb"

RS.Open "SELECT * FROM Login where Nickname = '" & Text2.Text & "'", DB, adOpenDynamic, adLockOptimistic

If RS!Passwort = Text1.Text Then
 Label1.Caption = "Hallo"
Else
 Label1.Caption = "Disconnected"
End If

End Sub
 
also bei mir erscheint dann ein fehler bei dem er sagt das entweder bof oder eof true ist und er einen aktuellen datensatz benötigt...

?

was mach ich falsch
 
Dann wird der Nickname der in Text2.Text steht nicht gefunden (vielleicht falsch geschrieben - gross kleinschreibung beachten) und er gibt keinen Datensatz zurück.
 
Machs doch einfach so wie ich es oben gezeigt habe. Musst nur das SQL-Statement und die Abfrage darunter ändern.

So bekommst du immer ein Ergebnis:
0 -> Kein Benutzer mit dem Passwort gefunden -> Fehler
1 -> Benutzer mit dem Passwort gefunden -> Login

Wozu auch Daten aus der Datenbank auslesen, wenn man auch eine Überprüfung direkt in der Datenbank vornehmen kann?
 
Zuletzt bearbeitet:
Zurück