问题:两个表连接在一个查询中(一对多),但我无法更新“多”表中的字段。这似乎是堆栈溢出中报告的一个常见问题,但没有一个发布的解决方案纠正了我的问题。
我有两张桌子: CustomerItems;项目
两个表都有一个名为ItemID的文本字段。
项目表中的ItemID是“索引,不允许重复”。ItemID表中的CustomerItems可以有重复的值。
我在一个查询中加入了这两个表,如下所示:“包含来自'CustomerItems‘的所有记录,只有那些来自’Item‘的记录是相等的。
我使用此查询手动(从键盘输入新信息)更新CustomerItems表中名为NewInfo的字段。
这个表已经工作多年了,但是今天它不允许我更新NewInfo字段。如果表没有连接,我可以更新NewInfo。我检查以确保两个表中的ItemID字段中都没有空值。我还进行了双重检查,以确保在Items.ItemID字段中没有任何重复的值。
我不是在运行更新查询,我只是简单地查看数据,然后手动将值输入到NewInfo字段中。我没有收到任何错误信息,但是Access不允许我从键盘输入任何信息。
除了上面提到的那些字段之外,这两个表都包含许多其他字段,但是它们并不涉及这个查询。
我真的很困惑,我很感激你的任何想法。谢谢
发布于 2022-04-12 16:18:39
我有时会遇到这个问题。首先,我试图压缩和修理,这有时是可行的。否则,对我来说一直有效的解决方案是从Access中移除该表并重新链接/重新导入它,并且不要忘记指定PK!我犯了一个错误,就是没有指定PK,直到有一天我不小心选择了一个PK,它起了作用!
发布于 2022-04-11 19:43:53
应该管用的。这样做不是个好主意,但它可以奏效。当然,一个常见的失败是添加一个新记录。如果不保存记录,则不会生成自动编号PK id,因此无法在此时编辑子行/记录。
因此,这意味着"main“或所谓的父记录必须存在、保存,并且还生成了自动编号PK值。如果没有发生这种情况,则在创建和保存有效父记录之前,不能更改或编辑作为一般规则的同一查询的子记录。
https://stackoverflow.com/questions/71832291
复制相似问题