Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
1

Совместная работа переключателей, фильтров и выпадающих списков

27.02.2018, 13:39. Показов 1622. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Бодрого времени суток, уважаемые форумчане!

Имеется БД, а в ней форма - "краткая лента".
Сверху в форме имеется ряд настроенных фильтров: передающее, принимающее подразделение, группа переключателей, а также розоватые поля для фильтра по вводу.

И все эти (кроме фильтра по вводу между собой) фильтры/запросы работают, но не совместно. Т.е., например, я могу выбрать все заявки передающего подразделения, а если я выберу в списке принимающее - то мне выдаст другой комплект заявок без учета передающего. Или я хочу найти все заявки какого-нибудь передающего подразделения за 20 февраля, но фильтры вводимого текста и подразделения не связаны. Надеюсь, проблема ясна.

Вопрос соответствующий: подскажите, пожалуйста, как настроить совместную работу переключателей, фильтров и списков? Пробовала в функции fpoisk делать "ссылку" на группу переключателей, группу переключателей делать через gotfocus, потом вывести работу на кнопку "применить фильтр". Но что-то как-то неудачно.
Вложения
Тип файла: rar Заявочник.rar (151.6 Кб, 7 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2018, 13:39
Ответы с готовыми решениями:

Совместная работа нескольких списков
Добррого времени суток! Есть система: область - район - населенный пункт. При задании адреса эти...

программирование выпадающих списков
Добрый день! На форме три выпадающих списка: день, месяц, год. Изменение любого из списков меняет...

Создание выпадающих списков
Нужно создать два выпадающих списка...где один зависит от другого...данные выбираются из БД MySQL...

Несколько выпадающих списков
Есть несколько скрытых списков (<div style="display: none;">) и 1 видимый, нужно так чтобы при...

27
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
28.02.2018, 09:17 2
Насколько я понимаю, у вас применение фильтра к данным запускается по событию "после обновления" каждого отдельного элемента фильтра. То есть, выбрали что-то из выпадающего списка - и сразу сформировалась строка фильтра и применилась к форме. Поэтому и получается так, как получается.
А чтобы объединить вместе все условия всех контролов - нужно для начала поубирать с их событий весь код, а вместо этого собрать воедино все эти коды и прицепить код на кнопку "Применить фильтр". И в этом коде формировать уже ЕДИНУЮ строку фильтра с учетом значений всех контролов.
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
28.02.2018, 11:02  [ТС] 3
Kkarn, я нашла две темы с совместными работами. Вначале по выпадающим спискам:
Фильтрация по нескольким условиям
Сделала точь-в-точь, поменяв наименования списков. Пишет, что не найден ключ поиска. Скриншот изменений прикладываю (Простите, что скриншот, просто на работе доступ к сайту закрыт). Может быть вы сможете подсказать, в чем проблема?
Миниатюры
Совместная работа переключателей, фильтров и выпадающих списков  
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
28.02.2018, 11:31 4
Хотелось бы увидеть всю функцию полностью. На скриншоте я вижу только формирование строки фильтра, а дальше там что?..
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
28.02.2018, 12:15  [ТС] 5
Kkarn, желтым выделяет строку me.filteron=true
Миниатюры
Совместная работа переключателей, фильтров и выпадающих списков  
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
28.02.2018, 12:22 6
Мда... Жаль, что не можете выложить базу, хотелось бы увидеть этот код в процессе работы и понять, что именно ему не нравится...
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
28.02.2018, 13:29  [ТС] 7
Kkarn, я пробовала различные вариации последних строк. И как в примере, и текущим образом. И ошибка все равно была. Иногда даже во время эксперимента фильтр по вводу отключался
Вложения
Тип файла: rar Заявочник.rar (75.7 Кб, 1 просмотров)
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
28.02.2018, 14:15 8
Вот теперь прояснилось).
Смотрите, у вас в коде значение из выпадающего списка обрамляется одинарными кавычками, то есть вот этот момент:

Visual Basic
1
='" & s2 & "'"
А поскольку у нас в выпадающем списке не сами значения, а их цифровые коды, то их обрамлять кавычками не нужно, и поэтому эти строки должны выглядеть как:

Visual Basic
1
=" & s2
В примере исправил для первых двух выпадающих списков, и теперь по ним фильтр работает, проверяйте.
Вложения
Тип файла: rar Заявочник.rar (93.1 Кб, 4 просмотров)
1
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
28.02.2018, 14:16 9
То есть суть в том, что если у нас в фильтр подставляются ТЕКСТОВЫЕ значения, то их нужно обрамлять одинарными кавычками, а если числовые значения - то не нужно.
1
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
28.02.2018, 19:02  [ТС] 10
Kkarn, большое спасибо!

Для полного счастья осталось добавить группу переключателей.
Не направите меня, пожалуйста, в нужное русло?) Смотрите, нашла здесь на форуме образец, как заставить работать совместно две группы переключателей. Думаю, каким-то аналогичным образом осуществляется и в моем случае. Но пока эксперименты не привели к результату. Полагаю, что сами условия немного иначе задаются, а не select case
Миниатюры
Совместная работа переключателей, фильтров и выпадающих списков  
Вложения
Тип файла: rar переключатели.rar (565.6 Кб, 10 просмотров)
0
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,027
01.03.2018, 03:16 11
Замените лучше переключатели полями со списком или списками или табличными формами например, в зависимости от дальнейшей обработки.
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
01.03.2018, 08:35  [ТС] 12
alvk, дааа, про замену мне уже говорили. Выпадающий список в данном случае мне не подойдет, т.к. он не нагляден. Поле со списком лучше, но оно не растянется в ширину, только если несколько списков сознать. Или я не права?
А что за табличные формы? И, например, будет ли проще реализация, если я сделаю по отдельности все 9 переключателей?
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
01.03.2018, 09:47 13
Цитата Сообщение от anniette Посмотреть сообщение
Полагаю, что сами условия немного иначе задаются, а не select case
Ну почему, в приведенном вами примере очень даже красиво работает конструкция select case, и я не вижу причин, почему бы не использовать ее и в вашей базе, нужно просто правильно это оформить... На приведенной вами картинке - явно что-то не то, т.к. не вижу логики в применении If вместе с Select Case, который сам по себе уже проверяет, какое именно значение присвоено вашей группе переключателей. Получается масло масляное.
0
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,027
01.03.2018, 10:32 14
Цитата Сообщение от anniette Посмотреть сообщение
Или я не права?
Не права, растягивается хоть на всю ширину формы.
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
01.03.2018, 10:48  [ТС] 15
alvk, перефразирую свою мысль: если сделать несколько столбцов, то при клике на любую запись любого столбца, выделится вся строка.

Kkarn, был такой вариант
Функция fpoisk
Select case me.группа259
Case 1: переключатель262_afterupdate
Case 2: переключатель264_afterupdate
...
Case 9: переключатель278_afterupdate
End select

Оно как бы работает. Очень быстро обновляет и тут же сбрасывает
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
01.03.2018, 11:03 16
Не. Надо не так. надо непосредственно на Case 1 писать формирование строки фильтра, и так на каждый из Case. И потом эту строку добавлять в общую строку фильтра.
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
01.03.2018, 11:11  [ТС] 17
Kkarn, не очень понятно. Мне надо те большие условия разместить не отдельными подпунктами, а закинуть в функцию поиска?
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
01.03.2018, 11:19 18
anniette, ну у вас же формирование общей строки фильтра происходит именно в функции fpoisk? Значит там же нужно делать и формирование частей этой строки, за которые отвечают группы переключателей. По сути все должно быть аналогично обработке выпадающих списков.
0
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,027
01.03.2018, 11:36 19
Лучше бы не перефразировала, так я ничего не понял, о чём речь? Табличная форма? Поле со списком?
Что такое "запись столбца"?
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 62
01.03.2018, 11:52  [ТС] 20
alvk, я имею в виду вот это) Вы нажимаете га значение в столбце, а выделяет всю строку. Оттого поле со списком в ширь не получится использовать.
Вы сказали про табличную форму. Вы имеете в виду вместо ленточной сделать табличную, так?
Миниатюры
Совместная работа переключателей, фильтров и выпадающих списков  
0
01.03.2018, 11:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2018, 11:52
Помогаю со студенческими работами здесь

Сохранение данных из выпадающих списков
Здравствуйте. Скажите пожалуйста возможно ли реализовать в php следующее: есть таблица, в ячейках...

Несколько независимых выпадающих списков
Добрый день! В форме создала такие списки: - значение поля 2 зависит от выбранного значения поля...

Тест на основе выпадающих списков
Доброго времени суток, уважаемые Форумчане! Вынуждена просить Вашей помощи в решении нескольких...

Связь выпадающих списков и календаря на форме
Есть форма с 2 выпадающими списками(ComboBox)- в одном-список дней месяца(1-31), в другом-названия...

Отправка значений выпадающих списков на почту
есть сайт мой сайт t-drive.net на нем на главной таблица с выпадающими списками, при нажатий...

Скрытие выпадающих списков в форме ввода
Есть некая форма ввода как сделать так, что бы когда активна радиокнопка "Чай" то был виден...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru