Как выбрать конкретный столбец на основе переменной в запросе MS Access? - PullRequest
1 голос
/ 22 ноября 2011

У меня есть большая таблица со следующими полями:

Date
Product_ID
AmountEUR_Field1
AmountEUR_Field2
AmountEUR_Field3
AmountEUR_Field4
AmountEUR_Field5

, где каждое поле AmountEUR представляет сумму продаж для продукта. Причина наличия 5 разных полей AmountEUR заключается в том, что они основаны на разных валютных курсах (например, BeginingOfMonthRate, AverageMonthRate, EndOfMonthRate и т. Д.).

Теперь я хочу скопировать определенное поле AmountEUR в другую таблицу, но копируемое поле AmountEUR меняется со временем (иногда это AmountEUR_Field2, иногда это AmountEUR_Field5) , Поэтому мне нужно выбрать конкретный столбец на основе переменной из другой таблицы. (эта переменная должна иметь значение от 1 до 5).

Я думал о создании нового поля с именем AmountEUR_ToBeUsed , которое будет обновлено с правильным значением AmountEUR_Field, но это возвращает меня к той же проблеме выбора конкретного столбца, который я хочу скопировать.

Можно ли найти решение в конструкторе запросов Access или мне нужен код VBA?

1 Ответ

2 голосов
/ 22 ноября 2011

Вы можете сделать это с помощью дизайнера Access Query.

В частности, вам понадобится функция IIF.

Например, если вы хотите указать, что до даты вы хотите использовать AmountEUR_Field1, а в противном случае AmountEUR_Field5 вы можете сказать:

IIF(somedate<#1/1/2011#,AmountEUR_Field1,AmountEUR_Field5)

Примечание.Вы можете сказать:

IIF(somedate<#1/1/2011#;AmountEUR_Field1;AmountEUR_Field5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...