1

我正在尝试使用查询从 3 个表中获取数据。所有共享相同的主键 ( customer_id)。数据很容易获得,但我无法在 MS-Access 中编辑数据。当有一个customer_idintable1但还没有一个 in时,就会出现问题table2。当我尝试输入鸡蛋的值时,Access 会告诉我

您无法添加或更改记录,因为“table1”中需要相关记录

我尝试使用的代码如下:

select table1.customer_id, table3.eggs     
FROM (table1 Left JOIN table2 ON table1.customer_id=table2.customer_id) 
LEFT JOIN table3 ON table1.customer_id=table3.customer_id 

在故障排除中,我从代码中取出了第二个表 ( table2),因此只有一个表LEFT JOIN可以连接table1table3。当我这样做时,Access 将为列出的内容创建一个新行,table3并按customer_id预期将值输入到“egg”字段中。

我不知道如何对所有 3 个表进行编辑和更新,任何输入将不胜感激。

4

1 回答 1

0

带有外部连接的查询可能会以不可更新的结果记录告终。您可以改用常规连接吗?此外,当 table3 看起来也有客户 ID 字段时,您选择的两个字段来自两个单独的表。

这是我写的一篇论文:处理不可更新的 Microsoft Access 查询和临时表的使用 ( http://www.fmsinc.com/MicrosoftAccess/query/non-updateable/index.html )

我们的 Microsoft Access 查询帮助中心的一部分 ( http://www.fmsinc.com/MicrosoftAccess/query/help-center.html )

于 2013-07-07T00:18:27.900 回答