跨多个表访问验证规则违规更新查询

时间:2017-05-05 00:12:14

标签: ms-access

我想创建一个更新查询,根据另一个表中字段的数值(称为“血液”)更新一个表中的是/否字段(对于过去的病史称为“pmh”)。我试图根据验血结果填写肾脏疾病的是/否字段。

如果我在两个字段都在一个表中时这样做,它就可以了。如果我尝试跨两个表执行此操作,则会收到“验证规则违规”错误消息。除了在一个或两个表中,字段完全相同。表或字段中没有验证规则或zerolength标准。

我想知道这是否与关系中的连接类型有关。我已将连接类型设置为2('包括来自'血液'的所有记录,仅包括来自'pmh'的那些记录,其中连接的字段相等') - 因为我希望能够看到所有具有值的患者'血统的桌子。

表格之间的关系是一对一的 - 每个患者只有一组验血 - 不使用一个表格的原因是字段数量大于255.

我希望这是有道理的 - 我试图尽可能简洁。感谢大家的帮助,如果您需要更多信息,请告诉我们。

1 个答案:

答案 0 :(得分:0)

听起来数据结构没有规范化。保存计算数据通常是个坏主意。可以在需要时计算Y / N值。

在关系构建器中设置的连接类型不应该阻止更新。应提供尝试查询以进行分析。是这样的:

UPDATE pmh INNER JOIN bloods ON pmh.ID = bloods.ID SET pmh.fieldname = IIf([bloods.fieldname]="something", True, False);