Private Sub denglu_Click()
If IsNull(Me.用户名) = False Then
MsgBox "您输入的用户名为空,请重新输入", vbQuestion
Exit Sub
End If
If IsNull(Me.密码) = False Then
MsgBox "您输入的用密码为空,请重新输入", vbQuestion
Exit Sub
End If
If adlogin = True Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "查询窗体"
Else
MsgBox "您输入的账号或密码错误,请重新输入", vbCritical
Exit Sub
End If
End Sub
Public Function adlogin() As Boolean
Dim str As Database
Dim rs
Set rs = CurrentDb
Set rs = str.OpenRecordset("select 用户名,密码 from 登录表 where 用户名='" & Me.用户名 & "'and 密码 = '" & Me.密码 & "'")
If rs.EOF Then
If rs.Fields("密码") = Me.密码 Then
End If
adlogin = True
End If
End Function作者: varren 时间: 2009-11-13 17:34
。。这么多高手帮下忙,我从来没有用过ACCESS,因为公司要用,只有慢慢来弄了。作者: Henry D. Sy 时间: 2009-11-13 17:43
问题应该出在,定义变量和赋值。作者: varren 时间: 2009-11-13 18:00
怎么解决?作者: andymark 时间: 2009-11-13 18:33
Public Function Adlogin() As Boolean
Dim Db As Database
Dim rs As DAO.Recordset
Set Db = CurrentDb
Set rs = Db.OpenRecordset("select 用户名,密码 from 登录表 where 用户名='" & Me.用户名 & "'and 密码 = '" & Me.密码 & "'")
换个思维:(更正,把原"[用户名]"后边的双引号去掉了),你可以粘帖此原码直接用。
if isnull(me.用户名.value) or isnull(me.密码.value) then
msgbox "用户名或密码都不能为空"
exit sub
end if
dim mima '假设你的登录表中有这样的字段:用户名,密码
'有误,多了双引号,mima=dlookup("[密码]","[登录表]","[用户名]"='"& me.用户名.value &"'") '注意最好表中密码值不能空
mima=dlookup("[密码]","[登录表]","[用户名]='"& me.用户名.value &"'")
if mima=me.密码.value then
docmd.close
docmd.openform "查询窗体"
else
msgbox "密码输入错误"
exit sub
end if作者: chaojianan 时间: 2009-11-13 20:49
Set rs = str.OpenRecordset("select 用户名,密码 from 登录表 where 用户名='" & Me.用户名 & "' and 密码 = '" & Me.密码 & "'")
and 前面加一个空格看看。作者: tz-chf 时间: 2009-11-14 08:53
这种判断有漏洞