在“空白”表上加入查询 - 更新时需要添加
Posted
技术标签:
【中文标题】在“空白”表上加入查询 - 更新时需要添加【英文标题】:Join Query on a “blank” Table - Need it to add when updating 【发布时间】:2019-04-15 13:21:51 【问题描述】:我有一个table1
和x1
作为键和东西,然后table2
和x2
作为键和列(例如:dataA
、dataB
、dataC
)但t2
有里面没有记录。 t1
和 t2
由 x1
和 x2
加入。
我想要它,当我向任何数据添加一些内容时,它会在 x2
= x1
和 dataA
、B
或 C
中创建一个新行我在做。
t1_____________t2
x1 _ t1.a _ t1.b _ t2.dataA _ t2.dataB _ t2.dataC
1 __ a ___ b ____ 更新
t2 从没有记录到
x2_dataA
1 __ 更新
【问题讨论】:
您当前拥有的数据示例以及预期结果示例会有所帮助。到目前为止,您尝试过什么? 换句话说“当我插入table1
时,我想插入一条记录到table2
”。在大多数 RDBMS 中,这将由 trigger
处理。这是在数据库中发生操作时执行的一些脚本(例如,当您插入table1
时,它使用相同的键执行插入table2
的操作)。查看 question 特别是 the answer 上的“事件驱动的宏”,了解如何在 MS Access 中创建类似 trigger
的内容。
无关,您可以使用ozh.github.io/ascii-tables 之类的网站在 *** 上为此处制作格式化表格。只需将该站点的输出粘贴到您的问题中,将其全部突出显示,然后单击顶部的
按钮以保留格式。
【参考方案1】:
创建一个 DataMacro(又名命名宏)并在表 x1 上的 AfterInsert 事件中运行它 (Menu Bar)
Macro 采用 x1 中的新值并根据您选择使用的字段在 x2 中创建一条记录。
如果您想为 x1 的任何更新创建记录,请在 x1 的 AfterUpdate 事件中运行 DataMacro。例如,如果您正在创建一个名为 x2 的日志表,则可以使用 [Old].[field1] 访问宏中 x1 字段的旧值,并且可以使用 [field1] 访问新值(更新后) .
【讨论】:
以上是关于在“空白”表上加入查询 - 更新时需要添加的主要内容,如果未能解决你的问题,请参考以下文章