MS Access 2003 - 根据以前的表单字段自动填写表单字段。
MS Access 2003 - Auto fill form-field based on previous form field.
我目前正在尝试设计一个需要大量用户通过表单输入数据的数据库。
其中一个 table 是 'user' table。 table中的信息有
用户标识(整数),
用户名(文本),
名字(文字),
姓氏(文字)
即使我正在填写表格并在用户名字段中提供用户名,如果用户名已经存在,是否可以从用户那里提取名字和姓氏 table 和自动填充那些表单字段?如果是这样,你能给我指出正确的方向吗?
直接通过访问功能还是通过 vba?如果在 2003 年不可能,这在 2007 年是否可能?
我有一个类似的表格,我用来将这些字段设置为组合框。
然后将 属性 行源设置为查询。
设置条件像这样
WHERE ((([Users].Username) Like '*' & [Forms]![YourForm]![Username] & '*'));
这将允许用户尽快选择名称
但它不会自动填充它,因为我的用户可以与其他用户拥有相同的用户名。
好的,现在自动填充(是的,我确实找到了一个例子),这将在您填充用户 ID 后填充用户名(在这种情况下,两者都应该是组合框,称为 Usernamecombo 和 useridcombo)
首先使用类似于此的 SQL 进行查询:
SELECT [User].username FROM User WHERE ((([User].userid) Like '*' & [Forms]![Yourform]![useridcombo] & '*'));
让我们调用此查询 "qry_username"。
然后转到表单的设计视图和 useridcombo 的属性,在 event/afterupdate 属性 中创建一个事件过程 (VBA) :
Private Sub useridcombo_AfterUpdate()
[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional
End sub
其他字段可以添加到 VBA 非常简单(不要忘记查询)
Private Sub useridcombo_AfterUpdate()
[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
[Forms]![yourform]![Firstnamecombo].Value = DFirst("Firstname", "qry_username")
[Forms]![yourform]![Lastnamecombo].Value = DFirst("Lastname", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional
End sub
我目前正在尝试设计一个需要大量用户通过表单输入数据的数据库。
其中一个 table 是 'user' table。 table中的信息有 用户标识(整数), 用户名(文本), 名字(文字), 姓氏(文字)
即使我正在填写表格并在用户名字段中提供用户名,如果用户名已经存在,是否可以从用户那里提取名字和姓氏 table 和自动填充那些表单字段?如果是这样,你能给我指出正确的方向吗?
直接通过访问功能还是通过 vba?如果在 2003 年不可能,这在 2007 年是否可能?
我有一个类似的表格,我用来将这些字段设置为组合框。 然后将 属性 行源设置为查询。
设置条件像这样
WHERE ((([Users].Username) Like '*' & [Forms]![YourForm]![Username] & '*'));
这将允许用户尽快选择名称
但它不会自动填充它,因为我的用户可以与其他用户拥有相同的用户名。
好的,现在自动填充(是的,我确实找到了一个例子),这将在您填充用户 ID 后填充用户名(在这种情况下,两者都应该是组合框,称为 Usernamecombo 和 useridcombo) 首先使用类似于此的 SQL 进行查询:
SELECT [User].username FROM User WHERE ((([User].userid) Like '*' & [Forms]![Yourform]![useridcombo] & '*'));
让我们调用此查询 "qry_username"。 然后转到表单的设计视图和 useridcombo 的属性,在 event/afterupdate 属性 中创建一个事件过程 (VBA) :
Private Sub useridcombo_AfterUpdate()
[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional
End sub
其他字段可以添加到 VBA 非常简单(不要忘记查询)
Private Sub useridcombo_AfterUpdate()
[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
[Forms]![yourform]![Firstnamecombo].Value = DFirst("Firstname", "qry_username")
[Forms]![yourform]![Lastnamecombo].Value = DFirst("Lastname", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional
End sub