我在表格(常规)中使用了以下VBA代码
Public Function GetUserName() As String
GetUserName = CreateObject("WScript.Network").UserName
End Function
控制源= User_Name
默认值= GetUserName()
问题- 用户名已正确拉入表格,但是没有保存在“控制源”中,即表格中。即使在我保存并关闭表格之后。
每当有人对记录进行更改时,我都需要使用表单来捕获并保存用户名。
请帮助我是MS Access新手
答案 0 :(得分:2)
似乎您正在将用户名分配给控制源。访问无法像这样工作。该控件源应该包含列名。
创建一个具有可用于存储事物的列的表。然后在设计时在属性窗口中将表单的Record Source property设置为此表名。然后,将文本框的Control Source
设置为您要在其中存储数据的列名,或者使用字段列表将add objects to the form设置为
在表单加载事件中,您可以使用以下方式为该文本框分配用户名
me!theTextBoxName = GetUserName()
您也可以使用未绑定的文本框来执行此操作,但是在关闭表单时不会存储该名称。
但是正如@ June7指出的那样,您可能已经做到了。在这种情况下,您应该使用
打开表单DoCmd.OpenForm "theFormName", DataMode:=acFormAdd
...以创建新记录。