Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметризированный запрос в Access / 10 сообщений из 10, страница 1 из 1
29.03.2003, 14:24
    #32129562
Yuri__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Никак не соображу, как написать в Access такой параметризированный запрос:

Вот есть таблица с такими колонками:
Main_col Col1 Col2 Col3

Где Col1, Col2, Col3 - логические данные, Main_col - текстовое поле.

Мне нужно, чтобы при заполнении параметра значением, например, Col2, выводилась таблица с колонкой Main_col где значения в колонке Col2 - положительные.
...
Рейтинг: 0 / 0
29.03.2003, 15:19
    #32129575
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
SELECT Main_col
FROM Table1
WHERE IIf([Param]="Col1",[Col1],IIf([Param]="Col2",[Col2],IIf([Param]="Col3",[Col3],False)));
...
Рейтинг: 0 / 0
29.03.2003, 15:28
    #32129578
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Where
(param="Col1" and Col1>0) or
(param="Col2" and Col2>0) or
(param="Col3" and Col3>0)
...
Рейтинг: 0 / 0
29.03.2003, 17:40
    #32129615
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Только тогда не >0, а =True (если поля логические).
...
Рейтинг: 0 / 0
29.03.2003, 18:26
    #32129625
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
>Владимир Саныч
Кто такие положительные логические поля, автору виднее. Будем надеятся, мы помогли ему решить его проблему :-)
...
Рейтинг: 0 / 0
29.03.2003, 21:02
    #32129651
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
To Shark: Солидарен!

To Yuri__: Справка на всякий случай: True и False - это соответственно -1 и 0.
...
Рейтинг: 0 / 0
30.03.2003, 17:17
    #32129754
Yuri__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Спасибо всем!!!

Проблема решена, но наткнулся на другую. Дело в том, что У меня этих Col1, Col2, Col3... - 44 штуки, а Access не принимает более 15 выражений. Я просто разбил все на несколько запросов, а потом объединил их другим запросом с помощью UNION ALL. Существует ли более красивый способ?
...
Рейтинг: 0 / 0
30.03.2003, 21:40
    #32129768
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Можно было изначально спроектировать базу по-другому.

Существующая ситуация:

Ключ
44 логических поля
Прочие данные

А можно было:

* Таблица 1:
Ключ
Прочие данные
* Таблица 2:
Ключ (тот же)
Число от 1 до 44 в качестве добавки к ключу
Одно логическое поле, смысл которого меняется в зависимости от значения предыдущего поля

То есть хвост из 44 полей превращается в 44 записи с одним полем в другой таблице.

И тогда даже можно было те записи второй таблицы, где значение логического поля False, просто не заносить.
...
Рейтинг: 0 / 0
31.03.2003, 21:59
    #32130554
Yuri__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
To: Владимир Саныч

Т. е. для каждой строки в первой таблице будет другая таблица? В моем случае - это не удобно т. к. у меня количество строк в таблице более 1000. Ладно, оставлю несколько объединенных запросов.

Еще раз спасибо!!!
...
Рейтинг: 0 / 0
01.04.2003, 11:27
    #32130746
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос в Access
Будет одна новая таблица, и в ней для каждой записи из старой таблицы будет по несколько записей.

Кстати, надо добавить еще одну маленькую табличку - всего с 44 записями и с 2 полями (код и название) - чтобы по этому названию можно было запускать сравнение с параметром запроса.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметризированный запрос в Access / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]