1

我有一个父表(评估),其中有两个定义了 1 对 1 关系的子表。为了确保永远不会添加没有父条目的子行,在这种情况下,我想向子表 (ConsequenceAssessment) 添加一个插入触发器。以下 ConsequenceAssessment BeforeChange 触发器触发,但我找不到如何引用 INSERTED 行集。有一个 OLD 记录集可用于更新;但是,我如何访问插入的行。以下是我的最佳尝试 - 但是,ConsequenceAssessment 表尚未包含新行,因此触发器始终会触发 RaiseError。

更新:刚刚发现我可以对 Access 中的一对一关系强制执行参照完整性(新手误解)。我仍然想知道如何访问更新的记录集。对于 MS SQL Server,这是通过 INSERTED 表实现的,该表在 INSERT 触发器的范围内可用。那么,MS Access 中的等价物是什么。

在此处输入图像描述

4

1 回答 1

1

在更改前数据宏中,[fieldname]指的是新值并[old].[fieldname]指的是旧值(插入时为 Null)。

在您的特定情况下 [ConsequenceAssessment].[id],似乎是该表的主键,而不是引用[Assessment](父)表的外键。因此,查找只是在父表中搜索错误的键值。

于 2016-02-26T16:36:53.210 回答