0

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

我有一个 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 db 中的本地表。一切都为此工作。

所以我创建了查询的副本,只是将视图更改为不同的视图。

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 是同一个表(和数据库),我在第一个查询中成功更新,为什么它在第二个查询中失败?

4

0 回答 0