VB代码解释,这是一个数据库查询登录窗口的VB代码,请做详细解释!

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:51:04
Private Sub 确认_Click()
On Error GoTo Err_确认_Click
Dim dbs As Database
Dim rst1 As DAO.Recordset
Set dbs = CurrentDb
Set rst1 = dbs.OpenRecordset("操作管理员")
If Me.代码.Value = "" Or Me.密码.Value = " " Then
MsgBox "编号或密码不能为空!"
Exit Sub
End If
If rst1.RecordCount <> 0 Then
rst1.MoveFirst
End If
With rst1
Do While Not .EOF
If Me.代码.Value = .Fields("代码") And Me.密码.Value = .Fields("密码")
Then
操作员代码 = Me.代码.Value
操作员姓名 = .Fields("姓名")
Dim stDocName As String
Dim stLinkCriteria As String
DoCmd.Close
stDocName = "系统菜单"
DoCmd.OpenForm stDocName, , , stLinkCriteria
'MsgBox " 操作成功!", v

'后的为我写的注释,哪里不明白,发留言问我。

Private Sub 确认_Click()
On Error GoTo Err_确认_Click '容错处理,出错后,转到 GoTo Err_确认_Click
Dim dbs As Database '定义数据表变量
Dim rst1 As DAO.Recordset '设置rst1 为dao.recordset的引用
Set dbs = CurrentDb 'dbs变量指向CurrentDb Database对像
Set rst1 = dbs.OpenRecordset("操作管理员") 'rst1指向dbs对像的"操作管理员"表格
If Me.代码.Value = "" Or Me.密码.Value = " " Then '下面四行判断是否在“代码”文本框中输入内容
MsgBox "编号或密码不能为空!"
Exit Sub
End If
If rst1.RecordCount <> 0 Then '"操作管理员"数据表不为空的话,指向其第一条记录
rst1.MoveFirst
End If
With rst1
Do While Not .EOF '循环至数据表最后一条记录
If Me.代码.Value = .Fields("代码") And Me.密码.Value = .Fields("密码") '如果输入的代码和密码均与数据库中的一致
Then
操作员代码 = Me.代码.Value '保存"代码"到操作员代码变量
操作员姓名 = .Fields("姓名") '读取数据表中的"姓名",存入操作员姓名变量
Dim stDocName As String