VB制作系统登录界面,包括用户名,密码和错误校验及效果全代码
第十讲:教你用VB制作系统登录界面,包括用户名,密码和错误校验及效果全代码
以下代码均为个人学习心得,经过测试并且无误,可以嵌入大型程序中作为身份认证的功能作用。
其中有一些窗体名和效果代码,不必复制,否则会出现错误,请仔细阅读核心代码理解即可。
红色代码部份为实现用户检测的关键代码,必需要有后台数据库用来存放用户信息,通过 conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & "\HISDB.mdb"来连接,然后用If rs.EOF = True Then进行判断
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
中是否存在用户信息即可。
Option Explicit
Dim Cnum As Integer
Private Sub CmdCancel_Click()
'//结束
End
End Sub
Private Sub CmdLogin_Click()
Dim UserName As String
Dim Pass
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim StrSQL As String
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & "\HISDB.mdb"
UserName = Trim(TxtUserName.Text) '//将文本框内的值赋给定义好的全局变量
PassWord = Trim(TxtPassword.Text) If UserName = "" Or PassWord = "" Then
MsgBox "对不起,用户或密码不能为空~请重新输入~~", vbCritical, "错误"
ElseIf UserName <> Empty And PassWord <> Empty Then '//用户名与密码是否为空
Cnum = Cnum + 1
StrSQL = "select * from 用户信息表 where 用户名称= '" & UserName &
"'and 用户口令 ='" & PassWord & "'"
rs.Open StrSQL, conn, adOpenKeyset, adLockPessimistic '//打开记录集
If rs.EOF = True Then
MsgBox "对不起,无此用户或者密码不正确~请重新输入~~", vbCritical,
"错误"
TxtUserName.Text = ""
TxtPassword.Text = ""
TxtUserName.SetFocus
rs.Close
If Cnum >= 3 Then
MsgBox "对不起,您已经多次失败,无权操作本系统~", vbCritical, "
无权限"
Unload Me
Exit Sub
End If
Else '登陆成功,以下为权限验证
If rs.Fields("用户权限").Value = "系统管理" Then Frmmdimain.Show
Unload Me
ElseIf rs.Fields("用户权限").Value = "挂号" Then Frmregistration2.Show
Unload Me
ElseIf rs.Fields("用户权限").Value = "诊断" Then Frmdiagnose2.Show
Unload Me
ElseIf rs.Fields("用户权限").Value = "收费" Then Frmcharges2.Show
Unload Me
ElseIf rs.Fields("用户权限").Value = "发药" Then Frmmedicine2.Show
Unload Me
End If
rs.Close
End If
End If
End Sub
Private Sub Form_Load()
'//加载主窗时给文本框赋值
TxtUserName.Text = "Admin"
TxtPassword.Text = "123"
Cnum = 0
End Sub
Private Sub TmrChangeColor_Timer() '//调用定义好的改变颜色过程,
Call changecolor(LblWelcome(0), 0, 1, 2, 3, 4, 5, 6, 7)
End Sub
Private Sub TmrMoveText1_Timer() '//移动LblShaSi
LblShaSi(0).Move LblShaSi(0).Left + 20 LblShaSi(1).Move LblShaSi(1).Left + 20 End Sub
Private Sub TmrMoveText2_Timer() '//移动LblShaSi
If LblShaSi(0).Left + LblShaSi(0).Width >= Me.Width + LblShaSi(0).Width
Then
LblShaSi(0).Move -1500
End If
If LblShaSi(1).Left + LblShaSi(1).Width >= Me.Width + LblShaSi(1).Width
Then
LblShaSi(1).Move -1500
End If
End Sub
'//定义一个改变颜色的过程,下面的control就是我们所说的控件 Sub changecolor(LCnt As Control, color1 As Integer, _
color2 As Integer, color3 As Integer, _
color4 As Integer, color5 As Integer, _
color6 As Integer, color7 As Integer, _
color8 As Integer)
Dim tmep As Integer
tmep = Val(LCnt.Tag) '//将返回包含于字符串内的数字赋给TEMP
Select Case tmep
Case color1
LCnt.Tag = color2
Case color2
LCnt.Tag = color3
Case color3
LCnt.Tag = color4
Case color4
LCnt.Tag = color5
Case color5
LCnt.Tag = color6
Case color6
LCnt.Tag = color7
Case color7
LCnt.Tag = color8
Case color8
LCnt.Tag = color1
End Select
LCnt.ForeColor = QBColor(LCnt.Tag) '//给控件LCnt中的字体赋予颜色,注意QBColor是将一值
'//转换为三色,MSDN详解,我也是在那查的````哈
End Sub