如何使用 Access 中的登录表单保护您的敏感数据

立即分享:

对于包含敏感信息的数据库,登录表单是必须的。 请按照以下步骤创建自己的登录表单,以保护您的数据库免受无效访问。

立即下载

如果您想尽快开始使用此功能,您可以:

立即下载带有 VBA 代码的示例数据库

否则,如果你想DIY,你可以阅读下面的内容。

在 Access 中创建登录表单的步骤

1.创建登录表

我们需要做的第一件事是创建一个表来存储所有登录信息。

  1. 创建一个新表并将其命名为 表登录.
  2. 在设计视图中打开表。
  3. 添加以下字段及其相应的数据类型:
栏位名称 数据类型
用户身份 自动编号
名字 短文字
短文字
用户名 短文字
密码 短文字

 

  1. 编辑密码的输入掩码,使其显示为一系列星号 (*)。编辑密码的输入掩码
  • 选择密码字段。
  • 转到常规选项卡 > 输入掩码 > ...
  • 当输入掩码向导弹出时,选择密码。
  • 单击完成。
  1. 在数据表视图中打开表并输入第一条记录(您的登录详细信息)。输入您的登录信息
  2. 关闭表并保存所做的更改。

2.创建登录表单

创建一个包含 2 个文本框和 2 个命令按钮的空白表单(如下所示)。 跳过命令按钮向导。创建登录表单

稍后我们将在我们的代码中引用这些表单控件,因此最好重命名它们以便于识别它们:

  • txt_用户名
  • txt_密码
  • 命令登录
  • 命令取消

接下来,更改密码文本框的输入掩码,使其也显示为一系列星号 (*)。

  1. 在设计视图中,选择密码文本框。
  2. 打开属性表 (ALT + Enter)。
  3. 转到“数据”选项卡>“输入掩码”。
  4. 选择密码并单击完成。

现在,我们将更改表单的一些属性,以达到美观的目的,更重要的是,确保用户在未输入正确的登录信息的情况下无法绕过此表单。

  1. 在设计视图中,选择窗体(如下所示)。选择表格
  2. 打开属性表 (ALT + Enter) 并更新以下属性:
  • 在下面 格式 标签
    • 说明:登录
    • 记录选择器:否
    • 导航按钮:没有
    • 滚动条:都不是
    • 边框样式:对话框
    • 关闭按钮:否
  • 在下面 其他 标签
    • 弹出:是的
    • 模态:是
    • 快捷菜单:否
  1. 将表格另存为 登录名.

3.添加代码

将 On Click 事件添加到登录按钮。

  1. 在设计视图中,选择登录按钮。
  2. 转到属性表 > 事件选项卡 > 单击时 > …
  3. 选择 代码生成器 从“选择生成器”菜单中单击“确定”。
  4. 这将打开 VBA 编辑器。
  5. 复制下面的代码。
Private Sub cmd_login_Click()

  Dim db As DAO.Database
  Dim rst As DAO.Recordset
  Dim strSQL As String
 
  If Trim(Me.txt_username.Value & vbNullString) = vbNullString Then
    MsgBox prompt:="Username should not be left blank.", buttons:=vbInformation, title:="Username Required"
    Me.txt_username.SetFocus
    Exit Sub
  End If
 
  If Trim(Me.txt_password.Value & vbNullString) = vbNullString Then
    MsgBox prompt:="Password should not be left blank.", buttons:=vbInformation, title:="Password Required"
    Me.txt_password.SetFocus
    Exit Sub
  End If
 
  'query to check if login details are correct
  strSQL = "SELECT FirstName FROM tbl_login WHERE Username = """ & Me.txt_username.Value & """ AND Password = """ & Me.txt_password.Value & """"
 
  Set db = CurrentDb
  Set rst = db.OpenRecordset(strSQL)
  If rst.EOF Then
    MsgBox prompt:="Incorrect username/password. Try again.", buttons:=vbCritical, title:="Login Error"
    Me.txt_username.SetFocus
  Else
    MsgBox prompt:="Hello, " & rst.Fields(0).Value & ".", buttons:=vbOKOnly, title:="Login Successful"
    DoCmd.Close acForm, "frm_login", acSaveYes
  End If
 
 Set db = Nothing
 Set rst = Nothing

End Sub

该代码将:

  1. 检查用户名和密码字段是否未留空。 如果是,将出现提示。
  2. 通过将登录详细信息与登录表 (tbl_login) 中的值进行比较来检查登录详细信息是否正确。
  3. 验证登录详细信息后,将出现欢迎用户的提示。

下一步是为“取消”按钮添加代码,以便在单击该按钮后数据库将关闭。

  1. 将 On Click 事件添加到取消按钮(与登录按钮相同的过程)。
  2. 复制下面的代码。
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4.设置登录表单为展示表单

最后,将登录表单设置为用户在打开数据库时将看到的默认表单。

  1. 转到文件 > 选项 > 当前数据库。
  2. 将显示表单设置为 frm_login。
  3. 单击“确定”。

您将不得不关闭数据库并重新打开它以查看它是如何工作的。

恢复您的 Access 数据库

恭喜! 您现在知道如何保护您宝贵的数据库免受无效访问。 现在,我要给你一个额外的提示。 如果由于不幸的原因,您的数据库已损坏,请不要惊慌。 DataNumen Inc.,数据恢复技术专家,提供修复软件 损坏的访问 数据库。 您的数据库仍然可以恢复。

作者简介:

Jayme Stack 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 excel 恢复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。