此代码每当我进入时都会给出:
数据不匹配错误3464
我正在尝试练习您的视频"从Access第1部分创建登录"
以下是代码:
Private Sub Command1_Click()
If IsNull(Me.txtLoginId) Then
MsgBox "Please enter LoginID", vbInformation, "LoginID Required"
Me.txtLoginId.SetFocus
ElseIf IsNull(Me.txtPassword) Then
MsgBox "Please enter password", vbInformation, "Password Required"
Me.txtPassword.SetFocus
Else
'process the job
If (IsNull(DLookup("UserLogin", "tblUser", "UserLogin ='" & Me.txtLoginId.Value & "'"))) Or _
(IsNull(DLookup("password", "tblUser", "Password ='" & Me.txtPassword.Value & "'"))) Then
MsgBox "Incorrect LoginId or Password"
Else
MsgBox "LoginID and Password correct"
End If
End If
End Sub
答案 0 :(得分:0)
那段代码错了,我知道你是从视频中复制过来的,但它做得不对,我觉得作者后来修改了。例如,这不测试用户id是否与密码匹配,它只测试用户ID或密码是否与任何值匹配。因此,您可能拥有多个具有相同密码的用户,并且会通过验证。当你得到数据类型不匹配时,它会表明你的表没有正确设置,在这里查看引号,userid和password都应该是text..are吗?
你想要的是这样的; 如果(IsNull(" [UserLogin]"," tblUser"," [Userlogin] ='"& Me.txtLoginID.Value &"'&password ='"& Me.txtPassword.Value&"'")))然后
但是我没有使用DLookup,而是使用eLookup ..更快更灵活。 http://allenbrowne.com/ser-42.html