各大侠:
我刚学VB,现在碰到了一个问题怎么都不解决不了,各位能否帮忙:(老师要求交作业啊)
1、如果用户名为”admin“,密码为ADMIN.这个用户可以进入并使用、操作该软件;
2、如果用户名为”“GUEST”,密码为空,这个用户只能进入界面,但不能使用。上面这两项都是很基础,可是我真的不会。先谢谢了!
我刚学VB,现在碰到了一个问题怎么都不解决不了,各位能否帮忙:(老师要求交作业啊)
1、如果用户名为”admin“,密码为ADMIN.这个用户可以进入并使用、操作该软件;
2、如果用户名为”“GUEST”,密码为空,这个用户只能进入界面,但不能使用。上面这两项都是很基础,可是我真的不会。先谢谢了!
在窗体上添加三个控件
Combo1
Text1
Command1
写入以下代码
Private Sub Form_Load()
Combo1.AddItem "GUEST"
Combo1.AddItem "admin"
Combo1.ListIndex = 1
Text1.PasswordChar = "*"
End SubPrivate Sub Command1_Click()
If Combo1.ListIndex = 1 Then
If Text1 = "ADMIN" Then
MsgBox "这个用户可以进入并使用、操作该软件", vbInformation
'//写代码使主窗体中的所有控件可用
Else
MsgBox "密码错误", 16
End If
Else
MsgBox "这个用户只能进入界面,但不能使用", vbExclamation
'//写代码使主窗体中的所有控件不可用。
End If
End Sub
谢谢!不过上面这句调试后出错。我看不懂是什么原因,能麻烦帮忙分析一下吗?
case "S" '超级用户
'****执行所有程序
case "U" '一般用户
'****执行部份程序
case "G" '来宾
'****只读
End Select'如果以下代码你搞不定, 给我邮箱,我发给你.'【CBM666 的密码登录 ADODB】 '引用 Microsoft ActiveX Data Objects 2.5 Library(调用 Msado15.dll)
'添加 Text1 Text2 Command1
'在同路径app.path下放 cbm666.mdb 含cbmpass表,当然你必需改为你自己的数据库名与表名. '**** 请注意!! 数据库:cbm666.mdb 表:cbmpass 要改为你自己的,并把它放在程序同路径下
'字段是 usernm 与 passw 与 level 都是字元型 (三个字段:用户名,密码,等级) Option Explicit
Public conn As New ADODB.Connection '定义数据连接字符串
Public rs As New ADODB.Recordset '定义记录集
Dim i%, db$, errpass%, appdisk$, password$, levelb$
Dim finduser As Boolean Private Sub Form_Load()
appdisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & appdisk & "cbm666.mdb"
conn.CursorLocation = adUseClient
conn.Open db '打开数据库连接
rs.Open "cbmpass", conn, adOpenKeyset, adLockPessimistic '打开记录集
Command1.Caption = "登 录"
Text1.Text = "": Text2.Text = "": Text2.PasswordChar = "*"
End Sub Private Sub Form_Activate()
Text1.SetFocus
End Sub Private Sub Form_Unload(Cancel As Integer)
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing: Set Form1 = Nothing
End
End Sub Private Sub Command1_Click()
If SearchData(Text1.Text) Then
MsgBox "登录成功! 您的等级是:" & rs.Fields("level"), vbOKOnly, "密码登录"
Unload Me
Else
errpass = errpass + 1
If errpass >= 3 Then
MsgBox "对不起,您没有任何权限登录使用本系统", vbCritical, "密码登录"
Unload Me
Else
MsgBox "用户名或密码错误,请重新输入", vbCritical, "密码登录"
Text1.SetFocus
End If
End If
End Sub Function SearchData(Schstr$) As Boolean
SearchData = False
rs.MoveFirst
rs.Find "usernm = " & Chr(39) & Schstr & Chr(39)
If Not rs.EOF Then SearchData = True
End Function