我是新手,不怎么会用VB,现在要做个设计,需要登陆窗体。下面是按确定键的代码,但不知道是哪里出错了呢?运行不了
PS:operator是SQL存放用户名和密码的表;
Private Sub cmdOK_Click()
'检查正确的密码
Dim sql As String
Dim rs As ADODB.Recordset
If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else '查询用户
sql = "select * from operator where id ="" & txtUserName.Text & """
Set rs = transactSQL(sql)
If iflag = 1 Then
If rs.EOF = True Then
MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(rs.Fields(1)) = Trim(txtPassword.Text) Then
rs.Close
Me.Hide
gusername = Trim(txtUserName.Text) '保存用户名称
Dialog1.Show '成功登陆修改窗口
Unload Me
Else
MsgBox "无效的密码,请重试!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End If
Else
Unload Me
End If
pwdcount = pwdcount + 1 '判断输入次数
If pwdcount = 3 Then
Unload Me
Exit Sub
End If
End Sub
PS:operator是SQL存放用户名和密码的表;
Private Sub cmdOK_Click()
'检查正确的密码
Dim sql As String
Dim rs As ADODB.Recordset
If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else '查询用户
sql = "select * from operator where id ="" & txtUserName.Text & """
Set rs = transactSQL(sql)
If iflag = 1 Then
If rs.EOF = True Then
MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(rs.Fields(1)) = Trim(txtPassword.Text) Then
rs.Close
Me.Hide
gusername = Trim(txtUserName.Text) '保存用户名称
Dialog1.Show '成功登陆修改窗口
Unload Me
Else
MsgBox "无效的密码,请重试!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End If
Else
Unload Me
End If
pwdcount = pwdcount + 1 '判断输入次数
If pwdcount = 3 Then
Unload Me
Exit Sub
End If
End Sub
sql = "select * from operator where id ="" & txtUserName.Text & """----------------改为sql = "select * from operator where id ='" & txtUserName.Text & "'"试试
现在却提示这个 iflag 有问题,还有就是运行时在登陆界面那输入完用户名的时候,按TAB键把光标移到密码框时,用户名删除了?这又是什么原因呢?
'检查正确的密码
Dim sql As String
Dim rs As ADODB.Recordset If Trim(txtUserName.Text = "") Then
MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Exit Sub
End If
'查询用户
sql = "select * from operator where id ='" & Trim(txtUserName.Text) & "'"
Set rs = transactSQL(sql) '记录集空,没有查询到用户记录
If rs.EOF = True Then
MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Exit Sub
End If '比对口令
If rs.Fields(1) = Trim(txtPassword.Text) Then
gusername = Trim(txtUserName.Text) '保存用户名称 rs.Close Dialog1.Show '成功登陆修改窗口
Unload Me
Exit Sub
End If MsgBox "无效的密码,请重试!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
SendKeys "{Home}+{End}" pwdcount = pwdcount + 1 '判断输入次数
If pwdcount = 3 Then
Unload Me
Exit Sub
End If
End Sub>还有就是运行时在登陆界面那输入完用户名的时候,按TAB键把光标移到密码框时,用户名删除了?这又是什么原因呢?检查 txtUserName_KeyPress、txtUserName_KeyDown、txtUserName_KeyUp 等事件中的代码。可以先全部注释掉试试。
but thank you all the same !