![]() |
|
Модераторы: Akina |
![]()
|
|
| Artmishin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
На форме имеется два поля "pole1" и "pole2" по которым ведется отбор значений из ленточной формы по полям "pole1_1" и "pole2_2", соответственно.
Для фильтрации данных создал макрос "Применить фильтр"
Фильтрация записей производится без проблем, но только если оба поля ("pole1" и "pole2") не пустые. Как бы мне реализовать такое условие, при котором пустое поле просто игнорировалось или выводились все записи, в общем чтобы не мешало фильтрации. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Artmishin, тогда вам придется все же забыть о макросах и написать этот код на VBA.
Пример:
Это сообщение отредактировал(а) bopoha - 26.10.2009, 16:57 |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
bopoha, а в макросе каким нибудь "IIF" нельзя воспользоваться?
типа того:
Внимание, код не проверял. Это сообщение отредактировал(а) kapbepucm - 26.10.2009, 13:51 -------------------- (С) kapbepucm |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
kapbepucm, макросы зло.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Почему? Штука ведь мощная, тока не гибкая.
Добавлено через 5 минут и 45 секунд
-------------------- (С) kapbepucm |
|||
|
||||
| Artmishin |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Уважаемый bopoha, не могли бы Вы прокоментировать свой код, в частности
1. Если у меня нет подчиненной формы, можно заменить Me.SubForm.Form на Me.Form? 2. Для каждого условия, необходимо задавать свою строковую переменную (stFilter, stFilter1, stFilter2 и т.д.)? 3. Ниже Вашего условия добавил свое
У меня привязан код к кнопке. По одному условию, фильтрация работает как хотелось, но при добавлении нового условия выводится MessageBox с вводом значения "pole2", как это обойти если на перспективу добавить еще несколько полей отбора? Это сообщение отредактировал(а) Artmishin - 26.10.2009, 16:06 |
||||
|
|||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Как только просиходит ошибка, ее обработать не получается. Плюc не гибко и не сопровождаемо. Это сообщение отредактировал(а) bopoha - 26.10.2009, 16:49 |
|||
|
||||
| bopoha |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Нет. Достаточно ключевого слова Me. with - конструкция VB. Что-бы меньше писать. .Filter = "True" - всегда истинное условие, т.е. отобразятся все записи. .FilterOn - атрибут, который включает, выключает фильтр на форме.
Нет, конечно. Это сообщение говорит о том, что в источнике данных для этой формы нет поля с именем pole2. Так, же я не нашел это имя в вашем коде. Если не справитесь, можете привести содержимое переменной stFilter и источника данных для формы. |
||||
|
|||||
| Artmishin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
bopoha получилось! У меня имя содержало пробел, поэтому и появлялось сообщение. Спасибо Вам большое.
Вы бы не могли посоветовать литературу для начинающих по access, которое бы охватывало VBA. Есть несколько самоучителей подобных "Кликните правой кнопкой мыши", но там нет конкретики, нет алгоритма с чего начинать и к чему двигаться. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Artmishin, я уже говорил об этом.
Повторюсь: "Разработка настольных приложений в Access 2002" "Разработка корпоративных приложений в Access 2002" Вот в них будет о программировании. Так же не забываем про Help. Там все описано. P.S. "Профессиональное программирование в Microsoft Access 2002" - как-то читал. Тоже ни че так. Это сообщение отредактировал(а) bopoha - 26.10.2009, 19:54 |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |