访问表单提示用户名

时间:2014-07-28 16:51:23

标签: forms vba ms-access access-vba prompt

我在访问中构建了一个表单,允许用户输入他们按活动工作的小时数(即交易处理,项目时间,休假等)。当前表单包含用户名,开始日期,结束日期,活动和花费的小时数字段。用户名和活动字段都是组合框。用户名字段有近60个不同的用户名。

有没有办法让这个表单以这样的方式,当用户打开它时,会自动出现提示以询问用户名?输入用户名后,通过此表单输入的所有记录都已填充用户名(除非表单已关闭并重新打开)?

如果用户能够在表格知道按表格打开时选择的用户名进行过滤后,用户能够切换记录“上一记录”和“下一记录”。

1 个答案:

答案 0 :(得分:1)

使用以下代码,您可以提示用户输入用户名。然后在当前事件中设置您想要具有该值的控件:

Option Compare Database
Dim UserName As String

Private Sub Form_Current()
  txtUsername = UserName
End Sub

Private Sub Form_Open(Cancel As Integer)
  UserName = ""
  Do While VBA.Strings.Len(UserName & "") = 0
    UserName = InputBox("What is your user name?", "USER NAME")
  Loop
End Sub

您可能需要在输入第一个字段后设置用户名,而不是在当前事件期间设置。这样,您在保存用户尚未输入的记录时就不会遇到任何问题。