0

我正在尝试使用 QODBC 在 MS Access (2013) 中创建对 QuickBooks 数据库的更新查询。

我需要更新表PriceLevelPerItem。我正在尝试使用另一个表 QueryThreeTable 中的值和名为UpdatedPrice的列来更新所述表中名为PriceLevelPerItemCustomprice的字段。

我需要更新 PriceLevelPerItem 表其中PriceLevelPerItemItemRefListID与 QueryThreeTable 中的ItemID的值匹配,并且ListIDQueryThreeTable.ItemListID匹配(是的,我知道这些是错误的方法......)

到目前为止,这个过程一直是许多查询的一个非常烦人的试验,任何帮助将不胜感激

这是我一直在使用的:

UPDATE
    PriceLevelPerItem 
SET
    (PriceLevelPerItemCustomPrice = QueryThreeTable.UpdatedPrice)
FROM
    QueryThreeTable, PriceLevelPerItem 
WHERE
    QueryThreeTable.ItemID = PriceLevelPerItem.PriceLevelPerItemItemRefListID
AND
    QueryThreeTable.ItemListID = PriceLevelPerItem.ListID;
4

1 回答 1

0

我认为问题在于您试图在 QODBC 查询中使用 DAO 查询。我认为两者使用不同的数据访问引擎。

您将需要使用 DLookup 在 QueryThreeTable 中查找 UpdatedPrice。或者,您可能需要使用 QueryThreeTable 创建一个 DAO 循环,然后从那里更新 QODBC 表中的值。

使您的 QODBC 查询在不使用 QueryThreeTable 和任何联接的情况下工作。然后想出一种动态创建查询的方法。您生成的 SQL 应该如下所示:

UPDATE
    PriceLevelPerItem 
SET
    PriceLevelPerItemCustomPrice = 150.16
WHERE
     PriceLevelPerItem.ListID = '310000-1146238368';
于 2013-10-15T13:51:13.623 回答