У меня есть таблица Item
в MS Access, которая выглядит следующим образом:
ID ProductNumber ItemNumber Quantity UnitPrice
1 P-0001 Item-001 5 $4.00
2 P-0001 Item-002 3 $12.00
3 P-0001 Item-003 2 $6.00
4 P-0002 Item-004 1 $8.00
5 P-0002 Item-005 6 $16.00
6 P-0002 Item-006 2 $7.00
Я использовал запрос Query1
для расчета стоимости таблицы выше
SELECT [Quantity]*[UnitPrice] AS Cost, *
FROM Item;
После выполнения запроса таблица выглядит следующим образом.
ID ProductNumber ItemNumber Quantity UnitPrice Cost
1 P-0001 Item-001 5 $4.00 20
2 P-0001 Item-002 3 $12.00 36
3 P-0001 Item-003 2 $6.00 12
4 P-0002 Item-004 1 $8.00 8
5 P-0002 Item-005 6 $16.00 96
6 P-0002 Item-006 2 $7.00 14
Я использовал подзапрос Query2
для вычисления BatchCost
SELECT (Select Sum(T.Cost)
From Query1
AS T
Where T.ProductNumber = Query1.ProductNumber) AS BatchCost, *
FROM Query1;
После выполнения запроса таблица выглядит следующим образом..
ID ProductNumber ItemNumber Quantity UnitPrice Cost BatchCost
1 P-0001 Item-001 5 $4.00 20 68
2 P-0001 Item-002 3 $12.00 36 68
3 P-0001 Item-003 2 $6.00 12 68
4 P-0002 Item-004 1 $8.00 8 118
5 P-0002 Item-005 6 $16.00 96 118
6 P-0002 Item-006 2 $7.00 14 118
У меня есть другая таблица Prices
, которая выглядит следующим образом:
ProductNumber CostPrice
P-0001 $0.00
P-0002 $0.00
Я хочу обновить CostPrice
в Prices
таблицу из BatchCost
в Query2
таблица.
Я использовал этот запрос:
UPDATE Prices INNER JOIN Query2 ON Prices.ProductNumber=Query2.ProductNumber
SET Prices.CostPrice = Query2.[BatchCost]
WHERE (((Prices.ProductNumber)=[Query2].[ProductNumber]));
Но появляется ошибка: Operation must use an updateable query
Когда я использовал другое поле в запросе, например UnitPrice
вместо BatchCost
запрос работает.Проблема в поле BatchCost.