Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 25.12.2022
Сообщений: 37

Использование макроса для фильтрации записей формы, не получается сделать, подскажите

14.01.2024, 12:43. Показов 6194. Ответов 75

Студворк — интернет-сервис помощи студентам
Не понимаю, почему не работает, подскажите, кто знает. Заранее спасибо

Задание:

Для реализации вызова макроса используем группу элементов управления. Каждый их элементов будет вызывать макрос на исполнение при определенном условии. В группе элементов необходимо предусмотреть элемент для снятия фильтра записей. Для этого:
- откройте форму Товар в режиме Конструктора и измените размер области Примечание;
- расположить группу переключателей, указав в качестве значения по умолчанию ВСЕ ЗАПИСИ и присвоив группе имя ПОИСК;
Эта часть есть. Группа элементов создана.(рис.1)


- в столбце Условие введите условие выбора первого элемента из группы переключателей ПОИСК. Значение этого элемента равно 1;
Здесь, после заполнения полей(рис.2), появляется уведомление, что элемент ПОИСК не найден.

Почему не получается, в чём ошибка?
Вложения
Тип файла: zip Оптовая база_архив1212312.zip (225.6 Кб, 13 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2024, 12:43
Ответы с готовыми решениями:

Остановка макроса для фильтрации данных
Всем привет, подскажите возможно ли остановить макрос для фильтрации данных, а после продолжить выполнение кода? Ручная фильтрация...

Очистка Grid-а от записей для осуществления фильтрации
Помогите заведомо очистить Grid от записей, чтобы осуществить фильтрацию.

Сделать из формы подобие блокнота для записей с последующим сохранением
Ура. Нашёл нужную тему https://www.cyberforum.ru/php-beginners/thread686952.html Но, у меня чего-то не получается пиркрутить скрипт к...

75
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
25.01.2024, 13:06
Студворк — интернет-сервис помощи студентам
sega2801,
выложите пример вашей реализации в зипе
иначе не угадать, как вы это сделали
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
25.01.2024, 13:11
вот оно, там если честно черт ногу сломит, первый раз делаю, не ругайтесь сильно )))
Вложения
Тип файла: zip Real — копия.zip (557.3 Кб, 12 просмотров)
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
25.01.2024, 13:18
sega2801, гляньте это,может чё сгодится:
Вложения
Тип файла: rar формированиеСтрокиWhere.rar (53.6 Кб, 10 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
25.01.2024, 14:00
Цитата Сообщение от sega2801 Посмотреть сообщение
вот оно, там если честно черт ногу сломит, первый раз делаю, не ругайтесь сильно )))
неужели вы думаете, что создать выборку на 10 полей макросом (в любом сочетании) легко
уверяю вас , что кодом это сделать и проще и нагляднее

ведь вы должны учесть еще и интервалы(например этажей, метров и т.д)
Вложения
Тип файла: zip Real_0125M.zip (134.5 Кб, 6 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
25.01.2024, 15:02
Цитата Сообщение от sega2801 Посмотреть сообщение
он выводит их и меняет данные на выбранные в поле со списком в первой строке таблицы
Поля фильтра должны быть несвязанными с данными, а у вас они связаны - поэтому происходит замена данных.
...
Описывать фильтрацию макросом наверное можно, но проще это сделать кодом.
Набросал вам пример построения фильтра по двум полям.
Вложения
Тип файла: zip Real_v02.zip (62.2 Кб, 9 просмотров)
1
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
25.01.2024, 17:40
Спасибо Вам большое, щас буду разбираться. ( кнопку "спасибо" пока нажать не могу.

Добавлено через 11 минут
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Описывать фильтрацию макросом наверное можно, но проще это сделать кодом.
Набросал вам пример построения фильтра по двум полям.
Если я правильно понял, глядя как работает фильтрация кодом, то кнопка "Фильтр по значениям" уже не нужна? И как можно добавить в список для поиска по фильтру пустую строку, вдруг надо будет повторить поиск, но уже один критерий поиска уже не нужен?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
25.01.2024, 17:55
Цитата Сообщение от sega2801 Посмотреть сообщение
то кнопка "Фильтр по значениям" уже не нужна?
Ну да!
И как можно добавить в список для поиска по фильтру пустую строку, вдруг надо будет повторить поиск, но уже один критерий поиска уже не нужен?
Просто удалите значение из поля со списком с ненужным критерием.
1
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 18:42
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Описывать фильтрацию макросом наверное можно, но проще это сделать кодом.
Набросал вам пример построения фильтра по двум полям.
Спасибо, сделал по аналоги на все нужные поля. Теперь возник вопрос. Нужно сделать для выборки поля для ввода минимальной цены и максимальной цены. Можно как то это в тот же код дописать или нужно макросом отдельно делать?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
26.01.2024, 19:08
Цитата Сообщение от sega2801 Посмотреть сообщение
Можно как то это в тот же код дописать или нужно макросом отдельно делать?
Конечно можно дописать, но тут будет слегка сложнее - ибо имеем варианты:
01. Указана только минимальная цена
02. Указана только максимальная цена
03. Указаны и минимальная и максимальная цена

Можно сделать примерно таким блоком:
Visual Basic
1
2
3
4
5
'Цена за кв.м. : [cena kv_metr]
    If IsNull(Me.MinЦена) = False Or IsNull(Me.MaxЦена) = False Then
        sFilter = sFilter & _
        " AND [cena kv_metr] Between " & Nz(Me.MinЦена, 0) & " AND " & Nz(Me.MaxЦена, 1000000)
    End If
Тут используется оператор Between, и :
- Если поле "MinЦена" пусто - передаётся значение = 0 (меньше некуда)
- Если поле "MaxЦена" пусто - передаётся избыточное значение = 1000000.
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 19:15
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Можно сделать примерно таким блоком:
'Цена за кв.м. : [cena kv_metr]
   If IsNull(Me.MinЦена) = False Or IsNull(Me.MaxЦена) = False Then
        sFilter = sFilter & _
        " AND [cena kv_metr] Between " & Nz(Me.MinЦена, 0) & " AND " & Nz(Me.MaxЦена, 1000000)
    End If
Тут используется оператор Between, и :
- Если поле "MinЦена" пусто - передаётся значение = 0 (меньше некуда)
- Если поле "MaxЦена" пусто - передаётся избыточное значение = 1000000.
Получается MinЦена и MaxЦена это поля в которые я буду забивать числовые значения. Это просто числовые поля?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
26.01.2024, 19:24
Цитата Сообщение от sega2801 Посмотреть сообщение
Это просто числовые поля?
Ну конечно!
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
26.01.2024, 19:25
Цитата Сообщение от sega2801 Посмотреть сообщение
глядя как работает фильтрация кодом, то кнопка "Фильтр по значениям" уже не нужна?
если у вас локальная таблица на сотню-другую записей - то не надо, все и так шустро фильтрует
но если 40000-50000+ да еще и на сервере или в списках более 1000 улиц, то лучше иметь кнопку для осмысленного вызова поиска, а не дергать сервер по некому изменению ваших 10 полей

да и не всегда точно известно значение - например Красноармейских улиц в Питере было когда-то не менее 16, а деревень Ивановка по России более 800(когда-то смотрела КЛАДР)

часто надо найти интервал или дополнительное условие, например
- 1/последний этаж не предлагать, значит выбор по полю со списком мало пригоден
- цена от 2 млн до 4
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 19:29
Цитата Сообщение от shanemac51 Посмотреть сообщение
- цена от 2 млн до 4
вот так и надо.
где-то то я опять накасячил с кодом(((

а с 1 и последним было бы круто, но это сложно для меня, такую выборку делать, тем более такой информации в базе нету и уже не куда ее пихать, почему то в форме место кончилось )))
И хотелось бы узнать, поскольку место на форме кончилось и пришлось Примечание уменьшить, можно как нить сделать, чтоб когда курсор наводишь полный текст появлялся?
Вложения
Тип файла: zip Real — копия.zip (621.4 Кб, 5 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
26.01.2024, 19:33
Цитата Сообщение от shanemac51 Посмотреть сообщение
... но если 40000-50000+
Ну от "железа" и пропускной способности сети зависит.
Тут нужно смотреть ... - очень возможно что вы правы.
У меня есть под наблюдением "бюджетные" аппараты, и там на сонях тысяч записей всё "летает" интерактивно (без отдельной кнопки) .
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 19:39
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Ну от "железа" и пропускной способности сети зависит.
Тут нужно смотреть ... - очень возможно что вы правы.
У меня есть под наблюдением "бюджетные" аппараты, и там на сонях тысяч записей всё "летает" интерактивно (без отдельной кнопки)
у нас город маленький, думаю аксесс справиться с ним и без кнопки.
сеть одноранговая будет,100 мб/с, через бюджетный роутер, все компы по кабелю. на максимум 5 компов.

И еще вопрос, у нас есть несколько улиц, которые находятся в разных районах, я попытался в базе это реализовать, но видимо еще какую то надо выборку сделать, чтоб при выборе района только нужные улицы были.
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
26.01.2024, 19:43
Цитата Сообщение от sega2801 Посмотреть сообщение
где-то то я опять накасячил с кодом
А куда торопитесь!?
Внимательнее нужно - внимательнее !
Букву пропустили и блок не в то место вставили ...
Вложения
Тип файла: zip Real_v04.zip (63.5 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 19:49
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А куда торопитесь!?
Внимательнее нужно - внимательнее !
Букву пропустили и блок не в то место вставили ...
Вопросов много, все пытаюсь не забыть )). Спасибо большое, щас гляну. Интуитивно вставлял блок в самый низ, перед закрытием кода))
З.Ы. Посмотрел, ошибку увидел, блок надо было вставить перед 'Применение фильтра или его отмена.
Получается фильтр отработал, а я еще блок туда вставил
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
26.01.2024, 20:01
Цитата Сообщение от sega2801 Посмотреть сообщение
все компы по кабелю. на максимум 5 компов.
это тоже будет лучше работать при наличии кнопки - уменьшится количество вызовов процесса фильтрации
вызов будет идти не по каждому чиху, а когда составлено более/менее осмысленное условие
0
0 / 0 / 0
Регистрация: 25.01.2024
Сообщений: 21
26.01.2024, 20:06
Цитата Сообщение от shanemac51 Посмотреть сообщение
это тоже будет лучше работать при наличии кнопки - уменьшится количество вызовов процесса фильтрации
возможно и так, но куда эту кнопку поставить, и так такая мотня получилась, кнопку например в начале поставить, пока доберешься до конца, кнопку уже видно не будет, опять все это проматывать до кнопки придется. Получается ни вначале не в конце ее ставить смысла нету, по середине, ну как то такое себе решение.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
26.01.2024, 20:15
Цитата Сообщение от sega2801 Посмотреть сообщение
у нас есть несколько улиц, которые находятся в разных районах
списки не всегда решение всех проблем - иногда удобнее искать по LIKE "*ЧАСТЬ ЗНАЧЕНИЯ*"

Добавлено через 6 минут
Цитата Сообщение от sega2801 Посмотреть сообщение
кнопку например в начале поставить, пока доберешься до конца, кнопку уже видно не будет, опять все это проматывать до кнопки придется
ленточную форму всегда настраиваю на ширину экрана, без полос прокрутки
обычно в ней высвечиваю не все поля, а только нужные для составления фильтра - причем корректировка при этом закрыта, чтобы нечаянно не испортить данные
для показа выбранной записи полностью - клинаю по выбранной записи для показа ее полностью для корректировки, если позволено данному пользователю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2024, 20:15

Установить атрибуты столбца для фильтрации и сортировки записей
Подскажите пожалуйста, что бы изменить в таблице колонку, и указать атрибуты: "не может быть нулевым" "не может...

pyqt5. Использование QSortFilterProxyModeld для фильтрации столбцов в QTableView
Доброго времени суток. Настроил фильтрацию 1-го столбца QTableView (код выше). Есть необходимость настроить фильтрацию еще для нескольких...

Не получается добавление записей через формы
Невозможно добавление или изменение записи. для обеспечения целостности необходимо наличие связанной записи в таблице Дисциплины.(база...

Подскажите плагин для фильтрации по кнопкам
К примеру как на этой странице https://stroyrem-nn.ru/articles

Подскажите программу для фильтрации интернет трафика
Необходима программа для фильтрации интернет трафика


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru