请教:如何在VB中创建一个登入界面?
各大侠:我刚学VB,现在碰到了一个问题怎么都不解决不了,各位能否帮忙:(老师要求交作业啊)
1、如果用户名为”admin“,密码为ADMIN.这个用户可以进入并使用、操作该软件;
2、如果用户名为”“GUEST”,密码为空,这个用户只能进入界面,但不能使用。
上面这两项都是很基础,可是我真的不会。先谢谢了! --------------------编程问答-------------------- 当为GUEST用户时,你把菜单或者按钮禁止或隐藏掉 --------------------编程问答-------------------- 确实很简单,以下是VB6的代码!
在窗体上添加三个控件
Combo1
Text1
Command1
写入以下代码
Private Sub Form_Load()
Combo1.AddItem "GUEST"
Combo1.AddItem "admin"
Combo1.ListIndex = 1
Text1.PasswordChar = "*"
End Sub
Private 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
--------------------编程问答-------------------- 有没有连接数据库的啊?? --------------------编程问答-------------------- If Combo1.ListIndex = 1 Then
谢谢!不过上面这句调试后出错。我看不懂是什么原因,能麻烦帮忙分析一下吗?
--------------------编程问答-------------------- Attn:楼主
这是一个ADODB数据库的登录, 其中一个字段为 等级, 你可以在登录成功后使用
Select Case Levelb
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
--------------------编程问答-------------------- 好简单...
补充:VB , 基础类