powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
4 сообщений из 29, страница 2 из 2
Combo Box
    #40050385
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
ВалерийЮ,
Мне до сих пор не ясно какие данные Вы имеете и что хотите(какую цель преследуете) и было бы намного проще если бы Вы выложили реальные данные с объяснением того что хотите получить,а может и просто четко сформулированное ТЗ
(вполне допускаю что решаемая Вами задача очень проста-может и VBA не нужен)


Преследуемая и единственная цель, это сделать фильтры, с помощью которых будут управлятся данные
на двух подчиненных формах с одного комбобокса на основной форме.
----------------------
Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто несумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда.
И пример, который прислал Панург, эту проблему решил на все 120%. Как говорится,- то что доктор прописал…
----------------------
Работать с примером который предложили Вы неполучается, потому что перекрестные запросы(это реально) на которых базируются подчиненные формы, с совсем разными данными. В этих перекрестных запросах общего есть только одно поле – которого здесь я его назвал „Тип книг“. И именно с этим типом данных комбобох будет управлять обеими субформами.
----------------------
А в этом примере, что прилал, я сделал все как можно проще, что-бы только изложить суть самой проблемы. Прислать тот кусок базы над которым я сейчас работаю, могу. Только он довольно большой. Даже в архиве васит почти 13 mb, и все на иностранном языке. Если вам подходит, то могу переслать. В этом форуме можно прикреплять такие большие файлы…?
...
Рейтинг: 0 / 0
Combo Box
    #40050404
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ

...Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто не сумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда....
источник комбо:
Код: sql
1.
2.
Me.combo.RowSource = "SELECT top 1 ' ALL' FROM tbl  UNION select фамилия from tbl"
где tbl:справочник-источник Combo

в запрос с top можно(даже нужно) добавить числовое поле со значением 0(его не может быть в кодовом поле/счетчике справочника)затем использовать это значение в скрытом столбце COMBO для отбора записей по ключевому полю справочника
после обновления combo:
Код: vbnet
1.
2.
3.
4.
5.
if Me.combo=' все' Then  ' или combo=0
Me.Form.RecordSource ="select * from тблИсточникФормы"
Else
Me.Form.RecordSource ="select * from тблИсточникФормы where полеСвязиСоСправочником=" & Me.combo
End if

RecordSource наше фсё
...
Рейтинг: 0 / 0
Combo Box
    #40050460
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
ВалерийЮ

...Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто не сумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда....
источник комбо:
Код: sql
1.
2.
Me.combo.RowSource = "SELECT top 1 ' ALL' FROM tbl  UNION select фамилия from tbl"
где tbl:справочник-источник Combo

в запрос с top можно(даже нужно) добавить числовое поле со значением 0(его не может быть в кодовом поле/счетчике справочника)затем использовать это значение в скрытом столбце COMBO для отбора записей по ключевому полю справочника
после обновления combo:
Код: vbnet
1.
2.
3.
4.
5.
if Me.combo=' все' Then  ' или combo=0
Me.Form.RecordSource ="select * from тблИсточникФормы"
Else
Me.Form.RecordSource ="select * from тблИсточникФормы where полеСвязиСоСправочником=" & Me.combo
End if

RecordSource наше фсё


СПАСИБО... ;)
...
Рейтинг: 0 / 0
Combo Box
    #40055563
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВалерийЮ,
для вашего случая с фильтрами
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub BookType_AfterUpdate()
        Dim strCriteria As String
        If Me.BookType = -1 Then
            DoCmd.RunCommand acCmdRemoveFilterSort
        Else
            strCriteria = "[Type Id]=" & Me.BookType
            Me.[ML-SUB].Form.Filter = strCriteria
            Me.[ML-SUB].Form.FilterOn = True
            Me.[ML-SUB1].Form.Filter = strCriteria
            Me.[ML-SUB1].Form.FilterOn = True
        End If
End Sub
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]