LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
05 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Фильтраци...
Тема: Фильтрация записей по полям главной и подчинённой
15.06.2007 21:02:25
All
4316 сообщения
Тема: Фильтрация записей по полям главной и подчинённой
Подскажите, пожалуйста, как правильно организовать
фильтрацию записей по полям главной и подч. форм.
в Access 97
Я делал так:
1. Создал запрос по двум таблицам
(таблица главной и таблица подчинённой).
В запрос включено поле счётчика записей главной.
2. Создал отдельную форму для этого запроса
и вызвал эту форму кнопкой из главной формы.
Затем переход в режим изменения фильтра,
задание условий и применение фильтра.
В результирующем наборе получены записи отобранные
по полям главной и подчинённой. Каждая запись
имеет уникальный номер в поле счётчика.
3. После этого программно сформировал предложение
WHERE: (счётчик = …..) Or (счётчик = …..) Or и т.д.
4. Дальше вроде просто:
Прописываем сформированный фильтр в свойство
Filter главной формы, включаем фильтр.
Закрываем дополнительную форму.
Но! Оказывается, что в свойство Filter нельзя писать строку > 2048, хотя в справке разрешено 32768 ???
Можно что-то ещё длиной 256, но что я не нашел и
сообразить не смог, хотя здесь наверное решение
проблемы.
5. Пришлось при сформированном фильтре > 2048
в свойство Filter главной формы писать фиктивный
фильтр (счетчик > 0), а сформированный фильтр
вместо базового запроса главной формы, затем
включать фильтр главной формы. Работает, но
в общем случае подмена базового запроса главной
формы это неправильно и вообще что-то сильно
сложно.
Буду благодарен, если подскажете как грамотно решить проблему.
P.S. Общий раздел по формам
Автор:
Юрий
от 0:00:00
Источник ...
15.06.2007 21:02:25
All
4316 сообщения
RE: Фильтрация записей по полям главной и подчинённой
1. Для отбора записей в форме желательно использовать Me.RecordSource = "SELECT * ...", а фильтр использовать только для минимального отбора.
2. LinkChildFields и LinkMasterFields надо использовать для связи подчиненной и основной формы, тогда менять фильтр в подчиненной форме не надо.
P.S. Общий раздел по формам
Автор:
Виктор Конюков
от 0:00:00
Источник ...
15.06.2007 21:02:25
All
4316 сообщения
RE: Фильтрация записей по полям главной и подчинённой
Очевидно я плохо изложил суть проблемы.
Если главная и подчинённая формы нормально
связаны, то при фильтрации записей по полям
главной формы в подчинённой автоматом показываются
соответствующие записи. Известно, что при
наложении фильтра по полям подчинённой формы
записи в главной форме не фильтруются т.е в
некоторых записях главной формы подчинённая форма
будет пустая, а в некоторых записях главной формы
подчинённая форма будет содержать записи из
подчинённой таблицы, удовлетворяющие заданным условиям. Но общее количество записей в главной
форме не изменится.
Проблема - как убрать из результирующего набора
главной формы записи, которые содержат после фильтрации пустую подчинённую форму т.е. не
удовлетворяют условиям наложенным по полям
подчинённой формы.
Я не могу согласиться с Вашим утверждением:
"Для отбора записей в форме желательно использовать Me.RecordSource = "SELECT * ...", а фильтр использовать только для минимального отбора."
По моему мнению в RecordSource любой формы
необходимо изначально прописывать запрос на
максимальный для этой формы набор записей, а
фильтрация всегда должна выполняться с помощью
свойства Filter формы, а не подменой запроса
в RecordSource.
Дело в том, что после фильтрации иногда приходится
вручную уточнять результирующий набор записей.
Если фильтрация выполнялась подменой RecordSource,
то из результирующего набора можно только удалять
записи (напр. с помощью "Исключить выделенное").
Если фильтрация выполнялась с помощью свойтва
Filter, то можно в результирующий набор добавить
записи не удовлетворяющие условиям предыдущей
фильтрации (в окне "Изменение фильтра" вкладка ИЛИ
с явным указание номера записи, которую необходимо
добавить).
Если вы скажете, что это "ненаучно", я отвечу: зато иногда очень удобно и не противоречит науке.
Вопросы остаются:
Почему в свойство Filter Формы нельзя записать
строку длинее 2048, хотя в справке 32768 ?
Какой объект длиной 256 симв. можно записать
в свойство Filter Формы ?
Может кто подскажет другой метод решения проблемы
фильтрации записей в гл. и подч. формах.
С уважением,
Юрий
P.S. Общий раздел по формам
Автор:
Юрий
от 0:00:00
Источник ...
15.06.2007 21:02:25
Dok
5 сообщения
RE: Фильтрация записей по полям главной и подчинённой
Вопрос к Юрию. Я с помощью фильтра по нескольким полям отфильтровал записи подчиненной формы, встроенной в главную, но выводятся отфильтрованные записи по одной в подчиненной форме. А вот если открыть новую фориу то там рез-ты фильтрации выводятся полностью. В чем проблема?
Заранее спасибо за ответ
P.S. Общий раздел по формам
Автор:
Dok
от 17.11.2003 0:43:41
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Фильтраци...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования