對於包含敏感信息的數據庫,必須具有登錄表單。 請按照以下步驟操作,以便您可以創建自己的登錄表單來保護數據庫免受無效訪問。
立即下載
如果您想盡快開始使用此功能,您可以:
否則,如果要DIY,可以閱讀以下內容。
在Access中創建登錄表單的步驟
1.創建一個登錄表
我們需要做的第一件事是創建一個表,該表將存儲所有登錄信息。
- 創建一個新表並將其命名為 登錄.
- 在設計視圖中打開表。
- 添加以下字段及其相應的數據類型:
| 欄位名稱 | 數據類型 |
| 用戶身份 | 自動編號 |
| 名字 | 短文字 |
| 姓 | 短文字 |
| 用戶名 | 短文字 |
| 密碼: | 短文字 |
- 編輯密碼的輸入掩碼,以便將其顯示為一系列星號(*)。
- 選擇密碼字段。
- 轉到常規標籤>輸入掩碼>…
- 當輸入掩碼嚮導彈出時,選擇密碼。
- 單擊完成。
- 在數據表視圖中打開表,然後輸入第一條記錄(您的登錄詳細信息)。
- 關閉表並保存所做的更改。
2.創建登錄表單
用2個文本框和2個命令按鈕創建一個空白表單(如下所示)。 跳過命令按鈕嚮導。
稍後我們將在代碼中引用這些表單控件,因此最好重命名它們,以便於識別它們:
- txt_用戶名
- txt_密碼
- 登錄
- 命令取消
接下來,更改密碼文本框的輸入掩碼,使其也將顯示為一系列星號(*)。
- 在設計視圖中,選擇密碼文本框。
- 打開屬性表(ALT + Enter)。
- 轉到數據標籤>輸入掩碼。
- 選擇密碼,然後單擊完成。
現在,我們將更改表單的一些屬性,以達到美觀的目的,更重要的是,確保使用者在未輸入正確的登入資訊的情況下無法繞過此表單。
- 在設計視圖中,選擇表單(如下所示)。
- 打開屬性表(ALT + Enter)並更新以下屬性:
- 下 格式 選項卡
- 標題:登錄
- 記錄選擇器:否
- 導航按鈕:否
- 滾動條:都不
- 邊框樣式:對話框
- 關閉按鈕:否
- 下 其他 選項卡
- 彈出:是
- 模態:是的
- 快捷菜單:否
- 將表單另存為 登錄.
3.添加代碼
將“單擊時”事件添加到“登錄”按鈕。
- 在設計視圖中,選擇“登錄”按鈕。
- 轉到屬性表>事件選項卡>單擊時>…
- 選擇 代碼生成器 從“選擇構建器”菜單中,然後單擊“確定”。
- 這將打開VBA編輯器。
- 複製下面的代碼。
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
該代碼將:
- 檢查用戶名和密碼字段是否為空。 如果是,將出現提示。
- 通過將登錄詳細信息與登錄表(tbl_login)中的值進行比較,檢查登錄詳細信息是否正確。
- 驗證登錄詳細信息後,將出現歡迎用戶的提示。
下一步是添加“取消”按鈕的代碼,以便一旦單擊它,數據庫將關閉。
- 將“單擊時”事件添加到“取消”按鈕(與“登錄”按鈕相同的過程)。
- 複製下面的代碼。
Private Sub cmd_cancel_Click() DoCmd.Quit acQuitSaveAll End Sub
4.將登錄表單設置為顯示表單
最後,將“登錄表單”設置為用戶打開數據庫時將看到的默認表單。
- 轉到文件>選項>當前數據庫。
- 將顯示表單設置為frm_login。
- 單擊“確定”。
您將必須關閉數據庫並重新打開它才能查看其工作方式。
恢復您的訪問數據庫
恭喜你! 您現在知道瞭如何保護您的寶貴數據庫免受無效訪問。 現在,我將給您更多提示。 如果由於不幸的原因您的數據庫已損壞,請不要驚慌。 DataNumen Inc.是數據恢復技術專家,提供可修復的軟件 訪問損壞 數據庫。 您的數據庫仍然可以恢復。
作者簡介:
Jayme Stack是 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql恢復 和excel恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM



