Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MS Access > Отбор записей в субформе |
Автор: Woodlin 3.9.2009, 10:36 |
Всем здравствуйте! Столкнулся с проблемой: задумал с помощью первой субформы отбтрать записи во второй субформе, созданной на основе отчёта. Предполагалось, что если в первой субформе флажок = True, то поле КБК добавляется в условие отбора во второй субформе. Проблема в том что таких КБК может быть много. Подскажите как это можно сделать. |
Автор: bopoha 3.9.2009, 11:28 | ||||||||||
1. Первый вариант: пробежаться по таблице "Выбираемые КБК" и собрать строку значений КБК через запятую, для отмеченных строк. Например,
фильтр для подчиненной формы может быть таким:
2. Второй вариант (рекомендую): фильтр для подчиненной формы может быть таким:
При этом после установки флажка необходимо сразу же сохранять данные в таблицу, а подчиненную форму обновлять. Например, на событии до обновления поля Флажок.
З.Ы. Чтобы пройтись по записям формы пользуйтесь конструкцией:
|
Автор: Woodlin 4.9.2009, 11:05 | ||
bopoha, "Второй вариант" фильтра работает только я видимо когда задавал вопрос лишнего вырезал из своего примера формы. Мне нужно отбирать записи с учётом двух субформ с флажками. Пробовал сам написать код SQL для фильтра, но получается некоррертно
пробовал также вместо оператора and вставлять or, тоже не получается. |
Автор: bopoha 7.9.2009, 12:22 |
Почему некорректно? Что не так работает? |
Автор: Woodlin 7.9.2009, 12:54 | ||
bopoha, В присоединённом файле с примером моей "стряпни" одна субформа с "флажками", где идёт отбор КБК (Код бюджетной классификации), а для работы у меня идёт отбор и по Кодам ОКАТО. В итоге должны быть две субформы: 1 Флажок-КБК 2 Флажок-Код ОКАТО Ваш вариант с одной субформой "Флажок-КБК" работает отлично У меня же с двумя субформами получается казус, вот код:
когда в одной из субформ ни один флажок не установлен запрос ни одной записи не выводит. Похоже у меня появилась идея как это обойти, сейчас буду пробовать Спасибо большое за помощь |
Автор: bopoha 7.9.2009, 14:47 | ||
Тогда нужно использовать OR вместо AND |
Автор: Woodlin 9.9.2009, 13:27 | ||
bopoha,
Пробовал, OR не подходит, выбираются лишние записи. Мне думается нужно добавить поле, в котором подсчитывается количество установленных флажков, если установленных флажков Ноль, то... Таи как-нибудь сделать несколько вариантов фильтра, вроде бы их три должно быть. Только проблема теперь Count отчего то не хочет считать флажки |
Автор: Akina 9.9.2009, 13:46 |
Видать не от того объекта Count... |
Автор: bopoha 9.9.2009, 14:29 |
Почему они лишние? Т.е. если галочки выбраны и там и там, но нужно одновременное совпадение? |
Автор: Woodlin 10.9.2009, 10:44 | ||
bopoha,
ага, нужно одновременное совпадение. |
Автор: bopoha 10.9.2009, 12:50 | ||
Вот так должно работать. На мой взгляд будет притормаживать.
|
Автор: Woodlin 15.9.2009, 08:26 | ||||
bopoha, Спасибо за помощь. Получилось сделать всё в модуле: 1: подвесил на флажок
2: собственно сам фильтр
Может быть и не очень изящно, но работает |