ms访问表单列表框更改整个字段

时间:2018-06-06 18:04:09

标签: forms ms-access ms-access-2010

我创建了一个表单来更新查询,而该表单又基于包含许多文件信息的主表。然后,该主表与几个其他表相关,比如称为group_table的表,定义文件属于哪个组,其中包含ID字段和group_name。然后,这将基于group.ID和主表master_table.group中的字段与主表的一对多关系相关联,并在表单所基于的查询中加入。

在表单中,我指定了一个列表框控件来更新查询/主表的group字段。列表框中可供选择的内容是根据group_name表中的group_table字段设置的,该字段在表单属性表的RowSouce部分中定义。

所以我的问题是,当我尝试使用表单中的列表框更新查询中的任何记录时,所有相同的记录也会被更改。例如,改变" A组和#34;中的一行记录。到" B组"将更改包含" A组和#34;的所有记录到" B组"在group字段中。所以我想知道是否有任何我可以做的设置,所以只有我想改变的特定记录才会改变。

1 个答案:

答案 0 :(得分:0)

当您进行更新表的调用时,应确保使用WHERE和主键,以确保仅更新该行。一个例子是类似于下面的陈述。

CurrentDb.Execute "UPDATE [group_table] AS G INNER JOIN [master_table] AS M 
ON G.[ID] = M.[groupID] 
SET G.[group] = '"& Group A & "' 
WHERE M.[groupID] = '" & groupIDFromForm & "';"

从联接中应用ON,以便外键和主键共享相同的值,然后使用该表单创建一个可用于标识确切行的变量。从那里程序应该正确执行查询。