【发布时间】:2015-01-13 14:49:49
【问题描述】:
我有一个 Microsoft Access 2010 数据库,它突然以设计模式打开 - 因此它在功能区中显示“创建”、“外部数据”和“数据库工具”选项,我可以看到所有表、查询等 - 无需按下我打开它时的shift键。有谁知道允许这样做的设置?我不希望这样 - 我希望这样如果用户双击打开文件,他们应该看到在选项中设置的显示表单,而不是所有开发人员选项。
【问题讨论】:
标签: ms-access
我有一个 Microsoft Access 2010 数据库,它突然以设计模式打开 - 因此它在功能区中显示“创建”、“外部数据”和“数据库工具”选项,我可以看到所有表、查询等 - 无需按下我打开它时的shift键。有谁知道允许这样做的设置?我不希望这样 - 我希望这样如果用户双击打开文件,他们应该看到在选项中设置的显示表单,而不是所有开发人员选项。
【问题讨论】:
标签: ms-access
如果你能听懂这家伙的口音,this tutorial 实际上很扎实,会帮你锁定一切。
如果你想获得一个网络用户名,试试这个:
将此代码放在新模块的声明中:
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
然后,将此函数添加到该模块以获取用户名:
Public Function GetNetworkUserName() As String
On Error GoTo Err_Handler
'Purpose: Returns the network login name
'Return: The name, or "{Unknown}" on error.
'Note: Safer than testing Environ().
Dim lngLen As Long
Dim lngX As Long
Dim strUserName As String
strUserName = String$(254, 0&)
lngLen = 255&
lngX = apiGetUserName(strUserName, lngLen)
If (lngX > 0&) Then
strUserName = Left$(strUserName, lngLen - 1&)
End If
If strUserName <> vbNullString Then
GetNetworkUserName = strUserName
Else
GetNetworkUserName = "{unknown}"
End If
Exit_Handler:
Exit Function
Err_Handler:
Call LogError(Err.Number, Err.Description, conMod & ".fOSUserName")
Resume Exit_Handler
End Function
然后,在表单(可能是您的主表单或打开表单)上,您可以通过将其放在 OnLoad 事件中的某个位置来获取用户名:
UName = UCase(GetNetworkUserName())
然后,您可以将该变量名称和时间戳写入“审核”表,以跟踪数据库中的人员以及他们何时登录。
【讨论】: