visual basic -access
Από {dora.san}
Εχω access XP σε μορφη 2000
Η βαση λεγεται db1 με έναν πινακα tbl_login με πεδια user_name και password. Η βαση προστατευεται από κωδικο τον 111.
Στο database.bas ο κωδικας είναι ο εξης .
Public rs As ADODB.Recordset
Public rsUser As ADODB.Recordset 'Recordset for users
Public cn As ADODB.Connection
‘αναφορα στις βιβλιοθηκες
'1> Project Menu => Reference
'2> Add Microsoft ActiveX Data Object Library 2.5
Private Sub main()
Set rs = New ADODB.Recordset
Set cn = New ADODB.Connection
Set rsUser = New ADODB.Recordset
cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "db1.mdb;password=111;"
cn.Open
rsUser.Open "Select user_name from tbl_login", cn, adOpenKeyset, adLockPessimistic
login.Show
End Sub
Στη φορμα login εχω
1 combobox με ονομα dbUserId
1 textbox με ονομα txtPasswd
1 command botton με ονομα cmdLogin
1 command botton με ονομα cmdCancel
ο κωδικας μου είναι
Private Sub Form_Load()
txtPasswd = ""
rsUser.movefirst
Do until rsUser.eof = true
dbUserId.additem rsUser.fields(“user_name”
rsUser.movenext
Loop
rsUser.movefirst
End Sub
Private Sub cmdCancel_Click()
rsUser.close
Set rsUser = nothing
Unload Me
End Sub
Private Sub cmdLogin_Click()
rsUser.Close
rsUser.Open "Select password from tbl_login where user_name = '" & dbUserId.Text & "'", cn, adOpenDynamic, adLockOptimistic
If rsUser.EOF True Then
frmMain.Show
Else
MsgBox "προσοχη!!!" & vbCrLf & "λαθος", vbInformation, "λαθος"
txtPasswd.Text = ""
txtPasswd.SetFocus
End If
End Sub
Όταν τρεχω το προγραμμα βγαζει λαθος. Αν μπρορει καποιος ας με βοηθησει.
ευχαριστω
dbUserId.additem rsUser.fields(“user_name”
Να, αυτό θέλει φτιάξιμο, σε μια γρήγορη ματιά που έριξα.
Πες τι λάθος παίρνεις, θα βοηθήσει να μην κάθομαι να φτιάχνω τη database από την αρχή.