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

Не работает фильтр

15.04.2013, 05:11. Показов 3097. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый, форумчане!
На форме пытаюсь сделать простой фильтр. Использую поле со списком, данные в нем из запроса. Список отображает то, что нужно. Но при выборе значения из списка, ничего не происходит. В то время как по задумке, должны отображаться только те данные, которые подходят под выбранное значение из списка.
Вот код:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
Private Sub ФильтрКоличествоТомов_AfterUpdate()
Dim stLinkCriteria As String
stLinkCriteria = "[Количество томов]=" & "'" & Me![Поле23]
DoCmd.OpenForm "Where", stLinkCriteria
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2013, 05:11
Ответы с готовыми решениями:

Фильтр не работает
procedure TForm1.ComboBox2Change(Sender: TObject); var selected:String; begin selected:=ComboBox2.SelText; ...

Не работает фильтр
Пишу так: Table2->Filtered=false; Table2->Filter=("Familiya" +Edit1->Text); Table2->Filtered=true; Пишет ошибку Filter...

Не работает фильтр
1. Я совсем не умею программировать. 2. По урокам из Ютуба я смог организовать привязку БД из Access с C++ builder. На форме...

14
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.04.2013, 07:11
1)
Создание формы для поиска записи из таблицы
2)
Visual Basic
1
2
3
4
5
Private Sub ФильтрКоличествоТомов_AfterUpdate()
Dim stLinkCriteria As String
stLinkCriteria = "[Количество томов]=" & Me![Поле23]
DoCmd.OpenForm "Where", stLinkCriteria
End Sub
3) слово where лучше заменить, от греха.
4) Поле23-Поле99 некрасиво и лишено смысла, подумайте об именах. Можете это ассоциировать с сотрудник1 - сотрудник99. (после такого обращения как к вам окружающие отнесутся?)
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
15.04.2013, 07:23
Цитата Сообщение от Lafete Посмотреть сообщение
Visual Basic
1
2
3
4
5
Private Sub ФильтрКоличествоТомов_AfterUpdate()
Dim stLinkCriteria As String
stLinkCriteria = "[Количество томов]=" & "'" & Me![Поле23]
DoCmd.OpenForm "Where", stLinkCriteria
End Sub
Пока вижу только две ошибки: a) stLinkCriteria должно быть четвертым параметрм метода OpenForm; б) вот этот фрагмент
& "'" или лишней, или нужно добавить в конец строки точно такой же.
Чтобы разобраться полностью нужно знать:
1. Что такое [Поле23]?
2. Что такое ФильтрКоличествоТомов?
3. Имя открываемой формы - "Where"?
4. Покажите источник строк поля со списком (запрос) и укажите поле запроса, которое должно использоваться для фильтра.
5. чему равны свойства поля со списком: Присоединенный столбец, Число столбцов
6. Какой тип поля [Количество томов]?

Поэтому, чтобы не заставлять отвечающих использовать карты Таро для гадания, всегда выкладывайте фрагмент БД, относящийся к проблеме.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.04.2013, 07:38
Цитата Сообщение от minob Посмотреть сообщение
stLinkCriteria должно быть четвертым параметрм метода OpenForm
Вот, а я думаю: что мне глаза так режет, спасибо.
0
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 21
15.04.2013, 08:56  [ТС]
Спасибо за ответы.
Выкладываю базочку, что-то исправила, но пока все равноне работает.
Вложения
Тип файла: rar Арх.rar (949.3 Кб, 16 просмотров)
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.04.2013, 09:09
Поля подстановки в таблицах недопустимы (с).
0
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 21
15.04.2013, 09:36  [ТС]
извините, недопонимаю, при чем здесь поля подстановки в таблицах?
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
15.04.2013, 10:01
Цитата Сообщение от Lafete Посмотреть сообщение
Выкладываю базочку, что-то исправила, но пока все равноне работает.
1. Вы же запретили изменения в форме. В свойство формы "Разрешить изменения" нужно установить "Да"
2. Так как количество томов, что видно по таблице Дело, может быть пусто, то нужно предусмотреть и этот случай
Visual Basic
1
stLinkCriteria = "[Количество томов]" & IIf(IsNull(Me![Поле23]), " Is Null", "=" & Me![Поле23])
3. каждый раз для фильтрования переоткрывать текущую форму не нужно. Вместо
Visual Basic
1
DoCmd.OpenForm "Дела", , , stLinkCriteria
или так
Visual Basic
1
2
Me.Filter = stLinkCriteria
Me.FilterOn = True
или так
Visual Basic
1
Me.RecordSource = "SELECT * FROM Запрос0 WHERE " & stLinkCriteria
1
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 21
15.04.2013, 10:38  [ТС]
Урааа! работает!)) Спасибо!
Один ответ, порождает кучу вопросов)
Могли бы Вы объяснить "человеческим" строку:
"[Количество томов]" & IIf(IsNull(Me![Поле23]), " Is Null", "=" & Me![Поле23])
(хотелось бы правильно уяснить ее).
Если еще на некоторые поля сделать подобные фильтры, как это будет работать?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
15.04.2013, 10:57
вроде мизерные таблички и картинку с формы удалила, а база не сжимается(даже импортом)
Вложения
Тип файла: zip arx15.zip (785.0 Кб, 13 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
15.04.2013, 11:00
вам более подходит вариант поиска по любому полю

https://www.cyberforum.ru/atta... 1366002511
1
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 21
22.04.2013, 11:59  [ТС]
Да, Вы правы)) и правда более подходящий вариант.
Сейчас села осваивать его. Подогнала под себя, все работает, код понятен.

Появилась еще проблема:
1) в базе использовала многозначные поля, как выяснилось, фильтры (а также некоторые запросы) не работают с ними. Что можно попробовать таком случае?
p.s. Пробовала [поле].Value дописывать - безрезультатно.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
22.04.2013, 12:05
в базе использовала многозначные поля, как выяснилось, фильтры (а также некоторые запросы) не работают с ними. Что можно попробовать таком случае?
подчиненную таблицу
осн таб
ид1.........

подчин
ид2,ид1,(ваше многозначные поле в столбик)

м связь 1:м
0
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 21
22.04.2013, 12:34  [ТС]
Поняла. Такой способ не совсем подходит. Я предположила, что возможно есть какой-ниб обходной путь с помощью vba.
Благодарю за помощь, пороюсь в инете еще, может что и накопаю))
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
23.04.2013, 01:57
Цитата Сообщение от Lafete Посмотреть сообщение
в базе использовала многозначные поля
Никогда не используйте многозначных полей!

топик в копилку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.04.2013, 01:57
Помогаю со студенческими работами здесь

Не работает фильтр not()
Вообщем такая ситуация. Нужно чтобы по клику на элемент с селектором ".new_acting" в консоль у нас выдавалось слово 'Work', а по клику на...

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

не работает фильтр
делаю фильтр по двум полям: страна и пол. но ничего не выводит. в чем может быть ошибка if(($country!='все')&&($male!='все')) ...

Фильтр работает неправильно
Привет, всем! Столкнулся с такой проблемой, хочу вывести по фильтру Заводской номер но когда ввожу цифры он просто прячет этот номер когда...

Не работает фильтр в таблице
Добры день. Помогите разобраться может, что не так делаю. Есть БД. Все работает исправно в форме, но когда необходимо зайти в таблицу...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru