|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Есть форма с текстовым полем. Называем его фильтр. Вбиваем туда какой-то текст. Жмём кнопку, открывается форма в которой есть поле со списком. Как сделать запрос, который брал бы данные из текстового поля первой формы и фильтровал по ним это поле со списком таким образом, чтобы отображались только те записи, которые содержат текст из первой формы (поле со списком содержит большой список данных, если в поле "фильтр" вбить текст, то во второй форме должны в поле со списком отображаться только те значения, которые содержат строку из "фильтра"). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 10:15 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Шаг 1: Открывешь первую форму нормально. Забиваешь текст в поле. Шаг 2: Вторую форму открывешь в дизайне. В поле со спимском открывешь мастер посторителя запросов. Строишь запрос. Становишься в поле фильтра (where) и вызываешь визард (правой мышью). Находишь первую открытую форму и соотвтетствующее поле. Выбираешь его. Запускаешь запрос и проверяешь, что он работает корректно. Закрываешь мастера. Изучаешь текст запроса и в следующий раз уже пишешь все самосотоятельно без мастеров. Сохраняешь вторую форму. Шаг 3: Первую форму открываешь в дизайне и на событии AfterUpdate поля фильбра пишешь процедуру (или макро, как сейчас модно (ненавижу!)) requery на вторую форму. Швг 4 последний: Вновь открывешь аервую форму. Открываешь фторую форму. В первой вводишь значение фильтра. Ентер. Проверяешь, что получилось во второй. усе ЗЫ Это, конечно, не единственное решение. Дело вкуса. Можно фильтровать, например, рекордсет второй формы прямо из первой. Можно из первой формировать запрос для второй. Еще эффектнее, посадить соурс поля со списком на сохраненную процедуру с параметром фильтровки. И параметр этот посылать из первой формы... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 10:48 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Спасибо, буду пробовать! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:24 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Допустим Форма2 лежит на таблице2 (Т2), в которой поле со списком связано с "Поле2", а поле со списком берет данные из таблицы1 (Т1), имеющей поле с текстом "Поле1" и ключевое поле "ID", значение которого и хранится в "Поле2". Тогда при вызове Формы2 нужно указать фильтр: Код: sql 1.
Если в поле "Фильтр" предполагается указывать только часть значения, то вместо "=" укажите Like и примените символы шаблона. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:34 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Возник вопрос. Чисто теоретический. А если источник данных поля со списком не запрос, а список значений, к нему подобный "фильтр" можно ли как-то применить? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:45 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
__MichelleВозник вопрос. Чисто теоретический. А если источник данных поля со списком не запрос, а список значений, к нему подобный "фильтр" можно ли как-то применить? Карты в руки! Пробуй, докладай! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:57 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Сделал через запрос с критерием отбора со следующим кодом: Код: vbnet 1.
Заработало. Как бы теперь ещё сделать, чтобы выбранные позиции исчезали из выпадающего списка? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 14:01 |
|
Фильтр в запросе
|
|||
---|---|---|---|
#18+
Rivkin Dmitry__MichelleВозник вопрос. Чисто теоретический. А если источник данных поля со списком не запрос, а список значений, к нему подобный "фильтр" можно ли как-то применить? Карты в руки! Пробуй, докладай!Ну что ж, раз инициатива, как всегда, наказуема....))) Если в списке один столбец. Вариант 1. С функцией Filter. Код: vbnet 1.
Вариант 2. Без функции Filter. Код: vbnet 1. 2. 3. 4. 5. 6.
Если в списке больше одного столбца. Вариант 3. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 12:10 |
|
|
start [/forum/topic.php?fid=45&msg=39135492&tid=1614128]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 158ms |
0 / 0 |