我正在尝试创建一个与用户关闭的访问数据库,即使是旁路转换选项也是如此。我已经完成了一个执行此操作的代码,但是当我按下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
答案 0 :(得分:2)
我不认为在禁用班次时可以捕获启动事件。我一直在做的是在启动表单上添加一个隐藏的密码文本框。密码文本框可以通过“隐藏按钮”激活。该效果仅适用于下一个启动事件(和开启),因此它不像您喜欢它那样直接,但它是可靠的。
Back Style
设置为Normal
,但颜色与表单BackColor
的颜色相同,因此不可见。Input Mask
设为Password
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
首先,您必须通过运行第一个过程来创建属性。之后你可以使用另外两个。