我制作了一个表来存储哪些用户打开数据库以及何时打开数据库。我有一个函数来获取VBA中的用户名,因为某些表单是受限制的。
如何获取新表中存储的所有用户名以及时间戳?
谢谢!
我想跟踪谁使用数据库,以及何时登录。就是这样。我有一个表设置来存储用户名和当有人打开数据库时的时间戳
我有用于在打开数据库时获取用户名的代码,并且它与我在表中的管理列表进行比较。那段代码是
Option Compare Database
Declare Function GetUserName& Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long)
Public Function UserName() As String
Dim str As String
Dim lng As Long
str = String$(200, 0)
lng = 199
If GetUserName(str, lng) Then
UserName = Left$(str, lng - 1)
End If
End Function
答案 0 :(得分:1)
创建一个名为“Splash”的空表单,并将其设置为打开数据库时打开的表单(选项 - >当前数据库 - >显示表单)
将此代码放入Form_Open事件中。这将在有人打开数据库时加载屏幕,将记录插入名为LoginRecord的表中,然后关闭表单。该操作对用户不可见。调整代码中的表/字段名称以适合您的情况。
Private Sub Form_Load()
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO LoginRecord (UserName, LoginTime) VALUES ('" & Environ("Username") & "','" & Now() & "')"
DoCmd.Close acForm, "Splash"
DoCmd.SetWarnings True
End Sub