我想创建一个更新查询,根据另一个表中字段的数值(称为“血液”)更新一个表中的是/否字段(对于过去的病史称为“pmh”)。我试图根据验血结果填写肾脏疾病的是/否字段。
如果我在两个字段都在一个表中时这样做,它就可以了。如果我尝试跨两个表执行此操作,则会收到“验证规则违规”错误消息。除了在一个或两个表中,字段完全相同。表或字段中没有验证规则或zerolength标准。
我想知道这是否与关系中的连接类型有关。我已将连接类型设置为2('包括来自'血液'的所有记录,仅包括来自'pmh'的那些记录,其中连接的字段相等') - 因为我希望能够看到所有具有值的患者'血统的桌子。
表格之间的关系是一对一的 - 每个患者只有一组验血 - 不使用一个表格的原因是字段数量大于255.
我希望这是有道理的 - 我试图尽可能简洁。感谢大家的帮助,如果您需要更多信息,请告诉我们。
答案 0 :(得分:0)
听起来数据结构没有规范化。保存计算数据通常是个坏主意。可以在需要时计算Y / N值。
在关系构建器中设置的连接类型不应该阻止更新。应提供尝试查询以进行分析。是这样的:
UPDATE pmh INNER JOIN bloods ON pmh.ID = bloods.ID SET pmh.fieldname = IIf([bloods.fieldname]="something", True, False);