Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Microsoft Access-操作必须使用可更新的查询_Sql_Ms Access - Fatal编程技术网

Sql Microsoft Access-操作必须使用可更新的查询

Sql Microsoft Access-操作必须使用可更新的查询,sql,ms-access,Sql,Ms Access,我已经四处查看了这个错误,但似乎一切都与权限问题有关 我有一个Access 2003数据库,其中包含以下更新查询 UPDATE dbo_vdvStockStatus INNER JOIN [#tblReport] ON dbo_vdvStockStatus.ItemKey = [#tblReport].MatItemKey SET [#tblReport].QtyOnHand = [#tblReport].QtyOnHand-dbo_vdvStockStatus.QtyOnHand WHER

我已经四处查看了这个错误,但似乎一切都与权限问题有关

我有一个Access 2003数据库,其中包含以下更新查询

UPDATE dbo_vdvStockStatus 
INNER JOIN [#tblReport] ON dbo_vdvStockStatus.ItemKey = [#tblReport].MatItemKey 
SET [#tblReport].QtyOnHand = [#tblReport].QtyOnHand-dbo_vdvStockStatus.QtyOnHand
WHERE (((dbo_vdvStockStatus.WhseID)="Q"));
dbo_vdvStockStatus是SQLServer中的一个视图,#tblReport是Access数据库中的一个本地表。一切都是为了这个

因此,我创建了一个查询副本,并将视图更改为另一个视图

UPDATE  dbo_vdvInventoryStatus 
INNER JOIN [#tblReport] ON dbo_vdvInventoryStatus.ItemKey =  [#tblReport].MatItemKey 
SET [#tblReport].QtyOnHand = [#tblReport].QtyOnHand-dbo_vdvInventoryStatus.QtyOnHand
WHERE (((dbo_vdvInventoryStatus.WhseBinID) like "*insp*"));
然而,这一次给了我上述臭名昭著的错误。我尝试从参数中删除通配符,但它仍然给我错误


由于#tblReport是我在第一次查询中成功更新的同一个表(和数据库),为什么在第二次查询中失败?

此页面显示了通过视图更新表的一些限制。可能其中一个应用于库存状态视图。在Access中,在设计视图中打开链接的“表”。(您将收到一条警告,该对象是一个链接表,因此您将在设计视图中以只读方式打开它。这很好。)现在,在字段名称的左侧查找一个或多个“键”图标。你看到了吗?@Gord。不,我想这是我的问题,但我会在以后测试。我只需要拉入我需要的数据表(而不是整个视图)就可以解决这个问题,这很有效