反映在 MS ACCESS 2013 中进行记录更新的 Windows 用户 ID 和时间
Posted
技术标签:
【中文标题】反映在 MS ACCESS 2013 中进行记录更新的 Windows 用户 ID 和时间【英文标题】:Reflect the Windows User ID and Time of who did the record update in MS ACCESS 2013 【发布时间】:2015-10-19 04:55:23 【问题描述】:我有一个包含 5 个表的 MS access 2013 db。我在每个表中创建了两个字段(更新依据和更新时间)。我创建了 5 个数据输入表单,并包含了几个操作按钮,例如添加新记录、删除记录和保存记录等……这些操作按钮是使用 MS access 宏生成器创建的。我想做的是,每当用户单击“保存”按钮时,上述两个字段(更新者和更新时间)都会填充该用户的 Window 用户 ID(活动目录 ID)和系统时间。我试图更新 Save 按钮的 OnClick 事件来做到这一点,但它对我不起作用。任何帮助。 表单的 After update 事件会随着对表单字段的任何修改或操作而一直更新这两个字段。
提前感谢您提供的任何帮助。
【问题讨论】:
您可能需要添加一些有关您尝试过的代码的详细信息。 【参考方案1】:这绝对是你想要的 OnClick 事件。
要获取用户名,请将其放在按钮后面:
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
然后把它放在一个单独的模块中:
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
对于时间片,只需使用 TimeValue:
TimeValue(Now)
【讨论】:
以上是关于反映在 MS ACCESS 2013 中进行记录更新的 Windows 用户 ID 和时间的主要内容,如果未能解决你的问题,请参考以下文章
MS-Access 2013;根据多记录形式的记录数据更改组合框选项
我可以在 MS Access 2013 中根据另一个表中的值生成多条新记录吗?