Forms 提示输入用户名的访问表单

Forms 提示输入用户名的访问表单,forms,ms-access,vba,prompt,Forms,Ms Access,Vba,Prompt,我在access中构建了一个表单,允许用户按活动(即事务处理、项目时间、假期等)输入工作时间。当前表单有用户名、开始日期、结束日期、活动和花费的小时数字段。用户名和活动字段都是组合框。用户名字段几乎有60个不同的用户名 是否有一种方法可以使此表单在用户打开时自动出现提示以询问用户名?输入用户名后,通过此表单输入的所有记录是否已填充用户名(除非表单关闭并再次打开) 如果用户在打开表单时知道要按所选用户名筛选的表单后,能够切换记录“上一个记录”和“下一个记录”,则会有所帮助。使用以下代码,您可以提示

我在access中构建了一个表单,允许用户按活动(即事务处理、项目时间、假期等)输入工作时间。当前表单有用户名、开始日期、结束日期、活动和花费的小时数字段。用户名和活动字段都是组合框。用户名字段几乎有60个不同的用户名

是否有一种方法可以使此表单在用户打开时自动出现提示以询问用户名?输入用户名后,通过此表单输入的所有记录是否已填充用户名(除非表单关闭并再次打开)


如果用户在打开表单时知道要按所选用户名筛选的表单后,能够切换记录“上一个记录”和“下一个记录”,则会有所帮助。

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

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

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

如果您使用的是安全数据库,则无需提示他们输入用户名。只需使用
CurrentUser()
获取他们的用户名。请参阅有没有办法让提示使用组合框?i、 e.用户从姓名列表中选择自己的姓名?这是另一个问题@JT2013。请开始一个新的线程,确切地说你正在尝试做什么,你已经尝试了什么,还有什么不起作用。@总而言之,我刚刚问了这个问题。希望能更清楚一点!