2014-01-20 3 views
0

Как объединить эти два запроса (обновление с использованием кросс-таблиц и критериев), чтобы облегчить необходимость использования многих запросов в макросе?Консолидация запросов с несколькими обновлениями

Query 1

UPDATE [Master Output Table], [Input table] SET [Master Output Table].[Area Change Ar Transfer From] = [Input table]![Amount 1723] 
WHERE ((([Input table]![Transaction Type 1723])="Area Change Ar Transfer From") AND (([Master Output Table]![Transaction Type])="Amount 1723")); 

Запрос 2

UPDATE [Master Output Table], [Input table] SET [Master Output Table].[Area Change Ar Transfer From] = [Input table]![Tax Amount 1723] 
WHERE ((([Input table]![Transaction Type 1723])="Area Change Ar Transfer From") AND (([Master Output Table]![Transaction Type])="Tax Amount 1723")); 

ответ

0

Это должно работать для вас.

UPDATE [Master Output Table], [Input table] 
SET 
[Master Output Table].[Area Change Ar Transfer From] = 
    case when [Master Output Table]![Transaction Type]="Amount 1723" then 
    [Input table]![Amount 1723] 
    else 
    [Input table]![Tax Amount 1723] 
end 
WHERE 
[Input table]![Transaction Type 1723]="Area Change Ar Transfer From" 
AND 
[Master Output Table]![Transaction Type] in ("Amount 1723","Tax Amount 1723"); 
+0

Я получаю синтаксическую ошибку (отсутствующий оператор), которая, как представляется, привязана к разделу, начинающемуся с «case when» – user3204048

Смежные вопросы