摘要:access数据库管理系统,可以采用前后端分离的形式,必须在前端登录后才能操作后端数据,保证数据的安全性并实现多用户登录分配权限等功能。
access数据库管理系统,可以采用前后端分离的形式,必须在前端登录后才能操作后端数据,保证数据的安全性并实现多用户登录分配权限等功能。
在后端数据库有用户表,录入登录账号的用户名和密码。
前端如果直接打开操作,会提示未登录,请先登录才能操作。
在登录窗体输入正确的用户名和密码,点击登录按钮。
登录成功,关闭登录窗体,打开管理窗体。
登录成功后,此时就可以使用前端的功能操作后端数据库中的数据,数据增删改查等功能。
模块
Public login_name As String '用户名
Public login_pw As String '密码
登录窗体-登录按钮
Private Sub Command登录_Click
On Error GoTo 登录失败错误 ' 设置错误处理程序
' 初始化变量
login_name = ""
login_pw = ""
' 检查用户名是否为空或未设置
If 用户名 = "" Or IsNull(用户名) = True Then
MsgBox "用户名值为空!" ' 显示错误信息
Exit Sub ' 退出子程序
End If
' 检查密码是否为空或未设置
If 密码 = "" Or IsNull(密码) = True Then
MsgBox "密码值为空!" ' 显示错误信息
Exit Sub ' 退出子程序
End If
' 定义数据库路径
Dim db_pathname As String
db_pathname = "C:\Users\liang\Desktop\前后端示例\后端.accdb"
' 创建并打开数据库连接
Dim login_conn As New ADODB.Connection
With login_conn
.Provider = "microsoft.ace.oledb.12.0;Jet OLEDB:Database Password='aaa123'" ' 设置提供程序和数据库密码
.ConnectionString = db_pathname ' 设置连接字符串
.Open ' 打开连接
End With
' 创建记录集对象
Dim login_rs As New ADODB.Recordset
' 构建SQL查询以检查用户凭据
Dim login_sql As String
login_sql = "SELECT * FROM 用户表 WHERE 用户名= '" & Me.用户名 & "' AND 密码='" & Me.密码 & "'"
' 打开记录集以执行SQL查询
login_rs.Open login_sql, login_conn, adOpenDynamic, adLockOptimistic
' 检查是否找到匹配的记录
If login_rs.EOF = False Then
' 如果找到记录,存储用户名和密码
login_name = login_rs.Fields("用户名").Value
login_pw = login_rs.Fields("密码").Value
MsgBox "登录成功" ' 显示成功信息
DoCmd.OpenForm "员工管理", acNormal '打开员工管理窗体
DoCmd.Close acForm, Me.Name ' 关闭当前表单
Else
' 如果没有找到记录,重置变量并显示错误信息
login_name = ""
login_pw = ""
MsgBox "用户名或密码错误,请重新登录"
End If
' 关闭记录集和连接
login_rs.Close
Set login_rs = Nothing
login_conn.Close
Set login_conn = Nothing
Exit Sub ' 正常退出子程序
' 错误处理程序
登录失败错误:
MsgBox Err.Description ' 显示错误描述
End Sub
登录窗体-注销按钮
Private Sub Command注销登录_Click
login_name = "" '清空登录用户名变量
login_pw = "" '清空登录密码变量
MsgBox "注销完成" '弹出提示:注销完成
End Sub
来源:miniappbb2525efcf084