level 8
用宏来做登录验证的话是不是应该先查账号再查密码,这个倒是没有试过,一直都是用VBA验证登录
Private Sub Command5_Click()
On Error GoTo 登录失败错误
If Z账号 = "" Or IsNull(Z账号) = True Then
MsgBox "请输入账号"
Exit Sub
End If
If M密码 = "" Or IsNull(M密码) = True Then
MsgBox "请输入密码"
Exit Sub
End If
db_pathname = "这里放文件的物理地址" '先判断用户名是否存在
Dim login_conn As New ADODB.Connection
With login_conn
.Provider = "microsoft.ace.oledb.12.0" ';jet oledb:database password='数据库密码'"
.ConnectionString = db_pathname
.Open
End With
Dim login_rs As New ADODB.Recordset
Dim login_sql As String
login_sql = "select * from 用户信息 where 账号='" & Me.Z账号 & "' and 密码='" & Me.M密码 & "'"
login_rs.Open login_sql, login_conn, adOpenDynamic, adLockOptimistic
If login_rs.EOF = False Then '循环表内容
login_name = login_rs.Fields("账号").Value '账号------用户信息表字段
login_xm = login_rs.Fields("姓名").Value
login_hm = login_rs.Fields("身份证号").Value
login_sj = login_rs.Fields("注册时间").Value
login_qx = login_rs.Fields("权限等级").Value
login_dj = login_rs.Fields("用户等级").Value
login_pw = Me.M密码
DoCmd.OpenForm "主界面", acNormal
DoCmd.Close acForm, Me.Name
Else
MsgBox "用户名或密码错误,请重新登录"
End If
login_rs.Close
Set login_rs = Nothing
login_conn.Close
Set login_conn = Nothing
Exit Sub
登录失败错误:
MsgBox Err.Description
End Sub
这是我自己在用的一个登录验证方式,你可以拿去参考一下看看,如果看不懂的话你还是用简单点的宏把。
2022年04月21日 00点04分
4
吧务
level 13
标点写错了。注意用英文状态下标点,你的双引号有的用的是中文状态下的双引号。所以它直接识别为文本对象了。
2022年04月23日 01点04分
5
还真是,谢谢
2022年04月24日 06点04分