Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837

Фильтр в подформе по полю с выпадающим списком

12.07.2017, 12:02. Показов 3010. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.


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

В свойства "После обновления" поля добавил код из другой бд, где он работает, и подкорректировал под подходящие по смыслу действия, но похоже что-то упустил. Подскажите пож-ста, что я забыл?
Вложения
Тип файла: rar Inb1 - копия.rar (134.4 Кб, 10 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.07.2017, 12:02
Ответы с готовыми решениями:

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

Фильтр по полю со списком
Здравствуйте друзья, много тем на форуме прочитал по этому вопросу, но так и не допедрил, пробовал разные варианты по примерам, не вышло....

Фильтр по Полю со списком
Помогите! В Форме вызова есть подчиненная форма с вкладкой заказы, у нее есть поле со списком ЗИП, как сделать чтобы ЗИП отображался не...

49
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
12.07.2017, 13:45
Лучший ответ Сообщение было отмечено Dimasterfrom4e как решение

Решение

Пробуйте
Вложения
Тип файла: rar Inb1 - копия.rar (129.3 Кб, 17 просмотров)
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
12.07.2017, 14:22  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Пробуйте
Огромное вам спасибо)))

Извиняюсь, я забыл, что там еще фильтр по галочке нужен в подформе. Из другой бд скопировал и подогнал по названию полей. В коде закомментил 2 строчки. Или по смыслу там другое нужно, не подскажете?
Вложения
Тип файла: rar Inb1 - копия.rar (147.4 Кб, 13 просмотров)
0
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
12.07.2017, 14:26  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub sourceData()
    Dim s, t
    
    t = Me.[main_tab].Tag
    
   ' s = "select * from (" & t & ") " _
    '& " and [ид_статус]=" & Me.Флажок11
    
    If Val(Nz(Me.[Выбор_инв], 0)) > 0 Then
        s = t & " and [№_инв]='" & Me.[Выбор_инв] & "'" _
        & " and [ид_статус]=" & Me.Флажок11
    Else
        s = t
    End If
   ' On Error Resume Next
    Me.[main_tab].Form.RecordSource = s
End Sub
Ой, отбой, сделал так)) и все пошло))
0
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
12.07.2017, 14:28
[Код] If Me.Флажок11 Then s = "select * from (" & t & ") " _
& " and [ид_статус]=" & Me.Флажок11
[/Код]
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
12.07.2017, 14:45  [ТС]
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Ой, отбой, сделал так)) и все пошло))
А все таки нет. Не так...((( Поторопился... помогите пож-ста.
Вложения
Тип файла: rar Inb1 - копия.rar (147.8 Кб, 1 просмотров)
0
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
12.07.2017, 14:51  [ТС]
Кажется так))) Снова отбой))

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub sourceData()
    Dim s, t
    
    t = Me.[main_tab].Tag
    
    If Val(Nz(Me.[Выбор_инв], 0)) > 0 Then
        s = t & " and [№_инв]='" & Me.[Выбор_инв] & "'" _
        & " and [ид_статус]=" & Me.Флажок11
    Else
        s = t & "" _
        & " and [ид_статус]=" & Me.Флажок11
    End If
   
    Me.[main_tab].Form.RecordSource = s
End Sub
0
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
12.07.2017, 14:58
Лучший ответ Сообщение было отмечено Dimasterfrom4e как решение

Решение

Я только не понял зачем премудрости с сохранением в Tag формы рекордсета?
Убрал и получился такой код для формы:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Compare Database
 
 
Private Sub Form_Current()
 
Dim a As Long
    If ActUserID > 0 Then
        Me!txtUsername = ActUser 'пишем имя в поле
    Else
        a = MsgBox("Пользователь не авторизован!" & vbCrLf & "Открыть форму авторизации?", vbCritical + vbYesNo + vbDefaultButton1, "Авторизация")
        If a = vbYes Then
            DoCmd.OpenForm "f_authorization"
        End If
    End If
   ' Макрос1
    
End Sub
 
Private Sub Выбор_инв_AfterUpdate()
 
    sourceData
    
End Sub
 
Sub sourceData()
    Dim s
            
    s = "select * from (гл_таб_приемка) where [ид_статус]=" & Me.Флажок11
    
    If Val(Nz(Me.[Выбор_инв], 0)) > 0 Then
        s = s & " and [№_инв]='" & Me.[Выбор_инв] & "'"
    End If
 
   ' On Error Resume Next
    Me.[main_tab].Form.RecordSource = s
End Sub
 
 
Private Sub Флажок11_AfterUpdate()
    sourceData
End Sub
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
12.07.2017, 15:02
Лучший ответ Сообщение было отмечено Dimasterfrom4e как решение

Решение

Цитата Сообщение от corbis Посмотреть сообщение
зачем премудрости с сохранением в Tag формы рекордсета?
Не рекордсета, а RecordSource. Это простой прием, когда нужно либо добавить фильтр в источник, либо совсем без фильтра. Конечно есть и другие способы, но этот крайне прост, надежен и универсален. Особенно, когда источник может быть динамичным, меняющимся
1
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
12.07.2017, 15:07
Я про конкретно этот пример спрашивал . Так то понятно для чего.
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
01.08.2017, 22:59  [ТС]
Извиняюсь, что снова к этому вопросу.

Добавил в форму INBOUND еще один комбобокс с выпадающим списком Зона приемки.

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

Помогите пожалуйста. можно сделать так, чтобы данные в подформе фильтровались при выборе комбобокса Выбор инвойса, учитывалось наличие / отсутствие галочки где Распечатан ТОРГ и фильтр также работал при выборе Зоны приемки?

Заранее спасибо))
Вложения
Тип файла: rar Inb1.rar (368.2 Кб, 4 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
01.08.2017, 23:11
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Добавил в форму INBOUND еще один комбобокс с выпадающим списком Зона приемки.
У вас там "каша" ...
Sub sourceData() - всё криво.
Так не делается обычно.

Рекомендую работать через свойство Filter формы.
Успехов!
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
01.08.2017, 23:37  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Рекомендую работать через свойство Filter формы.
Про кашу знаю. Знаниями не блещу в этом.

Но мои коллеги должны работать по стандарту. Лишние "ручные" фильтра в форме могут потом создать хлопоты, когда начнем подводить итоги, какие-то данные могут быть пропущены из-за этого.

Поэтому решено оставить им 3 фильтра (не мной) - для исключения лишних манипуляций по этим полям.
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
01.08.2017, 23:53
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Лишние "ручные" фильтра в форме могут потом создать хлопоты, когда начнем подводить итоги, какие-то данные могут быть пропущены из-за этого.
Так и я про то - же самое ....

Добавлено через 3 минуты
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Поэтому решено оставить им 3 фильтра (не мной) - для исключения лишних манипуляций по этим полям.
= Ерунда!
Фильтр можно формировать гораздо интереснее кодом VBA - уж поверьте.
И там не 3 заготовки - а как нравиться по полям выборки.
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.08.2017, 23:53
Изменены (исправлены) RecordSource и Tag подформы. Исправлены процедуры в главной форме: Load, sourceData, Комбинированная99_AfterUpdate
Вложения
Тип файла: rar Inb1.rar (329.3 Кб, 11 просмотров)
2
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
02.08.2017, 00:01  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
= Ерунда!
Фильтр можно формировать гораздо интереснее кодом VBA - уж поверьте.
Я уже ответил на это)) я с вба не знаком. Для вас ерунда - для меня головная боль.

Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Про кашу знаю. Знаниями не блещу в этом.
Цитата Сообщение от mobile Посмотреть сообщение
Исправлены процедуры в главной форме: Load, sourceData, Комбинированная99_AfterUpdate
Спасибо вам большое)) Я правда не понял, почему в другой бд первый код работал, а в этой нет. Фильтра такие же, типы полей такие же, названия полей другие только были.
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
02.08.2017, 00:06
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
названия полей другие только были.
- вот и ответ...

Часто:
Правильно заданный вопрос = готовый ответ.
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
02.08.2017, 00:11  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Правильно заданный вопрос = ответ.
Как я понял из бд, с которой мне прислали, дело было не в этом))
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
02.08.2017, 00:17
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Я правда не понял, почему в другой бд первый код работал, а в этой нет. Фильтра такие же, типы полей такие же, названия полей другие только были.
Названия полей ни при чем. Был невероятный мусор в источнике подформы. Видимо, применяя фильтр, Вы потом сохраняли форму и все фильтры сохранялись. Сохранять надо только в режиме дизайна.
Кроме того неверно были учтены ситуации со "Все" и пустыми полями фильтра. Все это было исправлено. Может быть в несколько ином стиле, чем в предыдущих Ваших работах.
1
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
02.08.2017, 00:19
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
Как я понял из бд, с которой мне прислали, дело было не в этом
Вам прислали решение на основании вашего вопроса.
Ваш вопрос далеко не однозначен.

Для полного и корректного ответа нужно знать ВСЮ вашу задачку.
Изучение (задачи) и творение = часы (*десятки) работы ...
А вы чего ждали???

У добрых форумчан и свои заботы есть (проекты, дети, внуки и пр.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.08.2017, 00:19
Помогаю со студенческими работами здесь

Не получается сделать фильтр по полю со списком
Выложить базы не могу (рабочий комп). Имеется 2 таблицы: в первой все сведения о документах (даты, номера, названия, участки, бригады...

Фильтр по полю со списком и новая запись
Добрый день! Есть таблица отфильтрованная по полю со списком. Как сделать так, чтобы при создании новой записи в поле со списком автоматом...

Отображение данных при запуске формы содержащей фильтр по полю со списком
Доброго дня. Такой вопрос. Имеется База данных с формой в которую вставлен фильтр по полю со списком. По значению в списке...

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

Не работает фильтр в табличной подформе
Добрый день. Извиняюсь, у меня проблема при создании базы. Не работает фильтр по подформе по 2 комбобоксам и одной галочке над...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru