如何使用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.添加代碼

將“單擊時”事件添加到“登錄”按鈕。

  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. 將“單擊時”事件添加到“取消”按鈕(與“登錄”按鈕相同的過程)。
  2. 複製下面的代碼。
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4.將登錄表單設置為顯示表單

最後,將“登錄表單”設置為用戶打開數據庫時將看到的默認表單。

  1. 轉到文件>選項>當前數據庫。
  2. 將顯示表單設置為frm_login。
  3. 單擊“確定”。

您將必須關閉數據庫並重新打開它才能查看其工作方式。

恢復您的訪問數據庫

恭喜你! 您現在知道瞭如何保護您的寶貴數據庫免受無效訪問。 現在,我將給您更多提示。 如果由於不幸的原因您的數據庫已損壞,請不要驚慌。 DataNumen Inc.是數據恢復技術專家,提供可修復的軟件 訪問損壞 數據庫。 您的數據庫仍然可以恢復。

作者簡介:

Jayme Stack是 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql恢復 和excel恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。