从带有复选框的表单中插入表

时间:2019-03-12 14:11:25

标签: sql vba ms-access

我想使用一种形式将多个条目插入表中。

所需结果:

DESTINATION_TABLE
DATE       | PLACE | THEME | PARTICIPANT
dd.mm.yyyy   A       X       1
dd.mm.yyyy   A       X       2
dd.mm.yyyy   B       Y       3

位置和参与者将从其他表中包含的值中选择,而日期和主题则使用文本框输入。对于DATE,PLACE和THEME,一次只能在表中插入一个值,但是我希望能够插入多个PARTICIPANT,并为每个选择的PARTICIPANT添加新行。

通过表单添加日期,位置和主题的新条目(使用 CurrentDb。执行“ INSERT INTO ... ”)。

如何创建一个表单,该表单使我可以从从PLACE中的值过滤出来的子表单(理想情况下带有复选框)中选择PARTICIPANT,并在DESTINATION_TABLE 中为每个选定的参与者添加一个条目?

1 个答案:

答案 0 :(得分:0)

使用当前设置的一种简单方法是:

  1. 在您的参与者表中添加一个Yes/No字段,默认为No。我们将其称为Selected
  2. 将您的子表单绑定到参与者表,用户将能够从该视图中检查每个参与者(使用Selected字段)。

  3. 您要使用哪个事件来保存数据(例如,单击按钮),请根据参与者表(rs中的选定参与者创建记录集(SELECT * FROM PARTICIPANT WHERE Selected = True)。遍历记录集(rs)中的每个记录,并执行代码CurrentDb.Execute "INSERT INTO...),从记录集中获取参与者(rs("Participant"))的值。

  4. 循环完成后,更新参与者表,将Selected字段设置为NoCurrentDb.Execute "UPDATE PARTICIPANT SET Selected = False WHERE Selected = True"
  5. 如果需要,刷新/重新查询您的子表单数据

用您的对象名称替换上面的对象名称。