在Vb中用Access 2000 数据库创建登录窗口,有用户名和密码框,请各位高手出招,用Adodc控件实现登录
我给你编写了一个完整的标准的登录程序代码,一定会完美运行哦,功能已经完善了,大家可以直接复制使用的。
你在新建立的窗体上画两个文本框:text1和text2,再画一个按钮command1即可,属性不用管。复制以下代码过去运行即可。
'运行前:必须首先在菜单中“工程→引用”对话框里勾选:Microsoft Activex Data Objects 2.8 Library(不同环境下版本不同)
注意:数据库位置必须与登陆程序在同一个目录内,password字段必须改成passwords
Dim CNN As New ADODB.Connection 'CNN是数据库连接对象
Dim RES As New ADODB.Recordset 'RES是数据库记录集对象
Private Sub Command1_Click()
On Error GoTo Nouse
If Trim(Text1.Text) = "" Then
MsgBox "请输入用户名(用户名不能为空)", vbOKOnly, Me.Caption
Text1.SetFocus: Exit Sub
End If
If Trim(Text2.Text) = "" Then
MsgBox "请输入密码(密码不能为空)", vbOKOnly, Me.Caption
Text2.SetFocus: Exit Sub
End If
'打开数据库“员工情况表.mdb”及表“用户表”
CNN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\员工情况表.mdb"
RES.Open "用户表", CNN, adOpenKeyset, adLockPessimistic
RES.Filter = "UseName = '" & Trim(Text1.Text) & "'"
If Trim(Text2.Text) = RES.Fields("passwords") Then
MsgBox "登陆成功,这里放置你登陆成功后的代码。", vbOKOnly, "恭喜"
'Form1.Show '关键:这句就是管理员登陆成功后要打开的主界面啦(改成你自己的主程序)
Unload Me
Else
MsgBox "密码不正确,请重新输入!", vbOKOnly, Me.Caption
Text2.SetFocus: Text2.SelStart = 0: Text2.SelLength = Len(Text2)
End If
RES.Close
CNN.Close
Set CNN = Nothing
Set RES = Nothing
Exit Sub
Nouse:
If Err = 3021 Then
MsgBox "此用户不存在", vbOKOnly, "警 告"
Text1.SelStart = 0: Text1.SelLength = Len(Text1.Text): Text1.SetFocus
Else
MsgBox "出现未知错误!", vbOKOnly, Me.Caption
End If
RES.Close
CNN.Close
Set CNN = Nothing
Set RES = Nothing
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text1.Alignment = 2
Text2.Text = ""
Text2.Alignment = 2
Text2.PasswordChar = "*"
Command1.Caption = "登 陆"
End Sub
再麻烦问一下,那如果说,我不想只是光管理员输入密码时登录一个界面,我还想有用户在这个登录界面中输入密码后可以登录到用户界面,那怎么写呢???我实在是一只小菜鸟,麻烦大侠多多帮忙了,不胜感激了!!!
那你在登陆成功后判断此用户是否是管理员不就结了,是管理员就登陆管理界面,否则登陆用户界面,当然你也可以在数据库中加一个“管理员和一般用户的区别”字段(如管理员为1、一般用户为0),登陆成功后再根据这个字段来判断所登录的人员是否是管理员。
慢慢研究吧,上面给你的代码属于非常经典的登陆框代码了。对应的数据库中当然可以添加任意个登陆人员啦。