我正在尝试使用另一个表中找到的值更新一个表中的所有记录.
我已经尝试了相同基本查询的许多版本,并始终得到相同的错误消息:
Operation must use an updateable
query.
有关为什么此查询在Access DB中不起作用的任何想法?
UPDATE inventoryDetails as idet SET idet.itemDesc = ( SELECT bomItemDesc FROM BOM_TEMPLATES as bt WHERE bt.bomModelNumber = idet.modelNumber )
也试过这个,因为我意识到,因为第二个表有每个型号的多个型号记录 – 我只需要为每个型号找到的第一个记录中的第一个描述.
UPDATE inventoryDetails as idet SET idet.item_desc = ( SELECT TOP 1 bomItemDescription FROM BOM_TEMPLATES as bt WHERE bt.bomModelNumber = idet.modelNumber )
……但仍然得到同样的错误.
解决方法
你必须使用连接
UPDATE inventoryDetails INNER JOIN BOM_TEMPLATES ON inventoryDetails.modelNumber = BOM_TEMPLATES.bomModelNumber SET inventoryDetails.itemDesc = [bomItemDesc];