我在访问中构建了一个表单,允许用户输入他们按活动工作的小时数(即交易处理,项目时间,休假等)。当前表单包含用户名,开始日期,结束日期,活动和花费的小时数字段。用户名和活动字段都是组合框。用户名字段有近60个不同的用户名。
有没有办法让这个表单以这样的方式,当用户打开它时,会自动出现提示以询问用户名?输入用户名后,通过此表单输入的所有记录都已填充用户名(除非表单已关闭并重新打开)?
如果用户能够在表格知道按表格打开时选择的用户名进行过滤后,用户能够切换记录“上一记录”和“下一记录”。
答案 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
您可能需要在输入第一个字段后设置用户名,而不是在当前事件期间设置。这样,您在保存用户尚未输入的记录时就不会遇到任何问题。