2015-10-07 63 views
2

我正嘗試創建一個訪問數據庫,即使是旁路移位選項也會關閉用戶。我已經完成了一個代碼,但是我想添加的是當按下shift鍵時允許用戶輸入密碼並且旁路移位選項將再次工作的彈出框。有誰知道這是否可能?跳過帶有彈出密碼框的移位

謝謝!

Function ap_DisableShift() 

On Error GoTo errDisableShift 

Dim db As DAO.Database 
Dim prop As DAO.Property 
Const conPropNotFound = 3270 

Set db = CurrentDb() 

db.Properties("AllowByPassKey") = False 

Exit Function 

errDisableShift: 

If Err = conPropNotFound Then 
Set prop = db.CreateProperty("AllowByPassKey", _ 
dbBoolean, False) 
db.Properties.Append prop 
Resume Next 
Else 
MsgBox "Function 'ap_DisableShift' did not complete successfully." 
Exit Function 
End If 

End Function 

回答

2

我不認爲有可能趕上啓動事件,而轉移被禁用。我總是做的是在啓動窗體上添加一個隱藏的密碼文本框。密碼文本框可以通過「隱藏按鈕」激活。該效果僅適用於下一次啓動事件(和),因此它不像您期望的那樣直接,但是可靠。

  1. 向啓動窗體添加一個矩形作爲鼠標捕捉器。確保Back Style設置爲Normal,但顏色與表格的BackColor相同,因此不可見。
  2. 添加隱藏文本框到啓動窗體。設置Input MaskPassword
  3. 添加DOUBLE_CLICK事件的矩形,將取消隱藏密碼文本框中
  4. AfterUpdate事件添加到密碼文本框,這將使shift鍵(AllowBypassKey)如果密碼是正確的。您可以在下次啓動時進入訪問界面。

要使用AllowBypassKey:

Public Sub CreateLockProperty() 

    CurrentDb.Properties.Append CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, True) 

End Sub 

Public Sub SetToolLock(bLocked As Boolean) 

    CurrentDb.Properties("AllowBypassKey") = Not bLocked 

End Sub 

Public Function ToolLocked() As Boolean 

    ToolLocked = Not CurrentDb.Properties("AllowBypassKey") 

End Function 

首先,你必須運行的第一個程序來創建屬性。之後你可以使用其他兩個。

+0

我已經添加了代碼,我必須繞過班次如何將密碼部分添加到此代碼? –

+0

好吧...我認爲代碼有效但它沒有,你有代碼來禁用轉換按鈕? –

+0

你最好搜索'AllowBypassKey'。有很多關於它的帖子。如果它有效,那麼我們可以查看你的查詢的密碼部分。 –