Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MS Access 2003-基于以前的表单字段自动填写表单字段。_Database_Ms Access_Vba_Ms Access 2007_Ms Access 2003 - Fatal编程技术网

Database MS Access 2003-基于以前的表单字段自动填写表单字段。

Database MS Access 2003-基于以前的表单字段自动填写表单字段。,database,ms-access,vba,ms-access-2007,ms-access-2003,Database,Ms Access,Vba,Ms Access 2007,Ms Access 2003,我目前正试图设计一个数据库,需要许多用户通过表单输入数据 其中一个表是“用户”表。表中的信息包括 用户ID(int), 用户名(文本), 名字(文本), 姓氏(文本) 在我填写表单并在用户名字段中提供用户名的情况下,如果用户名已经存在,是否可以从用户表中提取名字和姓氏并自动填充这些表单字段?如果是的话,你能给我指一下正确的方向吗 直接通过访问功能还是通过vba?如果在2003年不可能,那么在2007年是否可能?我有一个类似的表单,我使用它将这些字段设置为组合框。 然后将属性行源设置为查询 设置如

我目前正试图设计一个数据库,需要许多用户通过表单输入数据

其中一个表是“用户”表。表中的信息包括 用户ID(int), 用户名(文本), 名字(文本), 姓氏(文本)

在我填写表单并在用户名字段中提供用户名的情况下,如果用户名已经存在,是否可以从用户表中提取名字和姓氏并自动填充这些表单字段?如果是的话,你能给我指一下正确的方向吗


直接通过访问功能还是通过vba?如果在2003年不可能,那么在2007年是否可能?

我有一个类似的表单,我使用它将这些字段设置为组合框。 然后将属性行源设置为查询

设置如下所示的条件

WHERE ((([Users].Username) Like '*' & [Forms]![YourForm]![Username] & '*'));
这将允许用户尽可能快地选择名称

但是它不会自动填充,因为我的用户可以拥有与其他用户相同的用户名。

现在,对于自动填充(是的,我找到了一个示例),这将在您填充userid后填充用户名(在本例中,这两个框都应该是组合框,称为Usernamecombo和useridcombo) 首先使用类似以下内容的SQL进行查询:

SELECT [User].username FROM User WHERE ((([User].userid) Like '*' & [Forms]![Yourform]![useridcombo] & '*'));
让我们将此查询称为“qry\u用户名”。 然后转到窗体的设计视图和useridcombo的属性,在事件/后更新属性中创建事件过程(VBA):

其他字段可以简单地添加到VBA中(不要忘记查询)


用户名是否具有唯一索引?您是否从此表单创建新的表项?用户id是主索引,用户名始终是唯一的。我正在尝试设置一个表单来更新四个表,其中一个正在更新的表项是足够描述的用户表(假设用户名尚未在其中找到),因此,在本例中,我提供用户名,它返回userid?对吗?考虑到我有三个输入表单,usersername、firstname、lastname,当第一个表单填写时,可以自动填充后两个表单吗?这里实际上没有创建表单,我只是将userid添加到另一个表中——这更像是一种视觉确认。这只是为了根据userid自动填充表单。在这种情况下,您可以在组合框中选择一个用户标识。然后在他自己的组合框中返回用户名。如果将firstname和lastname添加到查询和VBA中,它们将以相同的方式填充。
Private Sub useridcombo_AfterUpdate()

[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional

End sub
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