|
|
|
| Пож-сто! Как составить один запрос на выборку того поля из таблицы, номер которого в названии поля совпадает с номером, указанным пользователем в форме. Поля в таблице kol1,kol2,kol3 ...kol12. В форме указываю например 5.В запросе д.б. поле KOL5. | |
|
| |
|
|
|
| в запросе ставите что-то типа where Поле =' Kol'" & Me.Поле_с_цифрой.Vlue & "';"
либо через переменные
вшь strString = "Kol" & Me.Поле_с_цифрой.Vlue
а далее в запросе WHERE Поле = '" & strString &"';" | |
|
| |
|
|
|
| Спасибо за ответ! Но мне не понятно, как в конструкторе запросов это сделать, ведь там нужно выбрать конкретное поле из таблицы kol1 ...kol12. Как указать, что это n-ное поле. Какая д.б. проверка? | |
|
| |
|
|
|
| В конструкторе запроса так не получится. В любом случае в процедуре надо составить SQL выражение и, например, вставить его в новый или существующий запрос.
Подробнее опишите задачу. | |
|
| |
|
|
|
| Есть таблица zaj (заявка на материалы)состоит из KRS-код материала и kol1-kol12 количество материалов по месяцам (январь-декабрь). Мне нужно сделать запрос для печати заявки на любой месяц. Месяц выбирается пользователем в форме Печать заявки. Сделать 12 запросов (по-простому). Хочется что-нибудь универсальное. | |
|
| |
|
|
|
| Опять же, где применяется запрос? Если в отчете, то на его событие Report_Open можно составить SQL выражнеие и вставить в Me.RecordSource. Или в ControlSource поля отчета указать требуемое из 12-ти полей запроса.
Вообще-то правильная стратегия - создать подчиненную таблицу с номерами месяцев и кол-вом, связанную с zaj (многие к одному). Тогда и проблемы такой не было бы. | |
|
| |
|
|
|
| Меня посетила мысля...
Вам, наверное, нужно возвращать не конкретное поле со своим собственным именем, а значение указанного поля в поле запроса с неизменным именем, например - "kol"?
Это можно сделать и в сохраненном запросе. В конструкторе добавьте вычисляемое поле:
kol: Choose([Forms]![ИмяФормы]![ИмяПоля], [kol1], [kol2],...,[kol12]) | |
|
| |
|
|
|
| Большое спасибо. Все получилось.Choose([...) - это гениально! Просто и быстро. | |
|
| |