Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Combo Box  [new]
ВалерийЮ
Member

Откуда:
Сообщений: 23
sdku
ВалерийЮ,
Мне до сих пор не ясно какие данные Вы имеете и что хотите(какую цель преследуете) и было бы намного проще если бы Вы выложили реальные данные с объяснением того что хотите получить,а может и просто четко сформулированное ТЗ
(вполне допускаю что решаемая Вами задача очень проста-может и VBA не нужен)


Преследуемая и единственная цель, это сделать фильтры, с помощью которых будут управлятся данные
на двух подчиненных формах с одного комбобокса на основной форме.
----------------------
Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто несумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда.
И пример, который прислал Панург, эту проблему решил на все 120%. Как говорится,- то что доктор прописал…
----------------------
Работать с примером который предложили Вы неполучается, потому что перекрестные запросы(это реально) на которых базируются подчиненные формы, с совсем разными данными. В этих перекрестных запросах общего есть только одно поле – которого здесь я его назвал „Тип книг“. И именно с этим типом данных комбобох будет управлять обеими субформами.
----------------------
А в этом примере, что прилал, я сделал все как можно проще, что-бы только изложить суть самой проблемы. Прислать тот кусок базы над которым я сейчас работаю, могу. Только он довольно большой. Даже в архиве васит почти 13 mb, и все на иностранном языке. Если вам подходит, то могу переслать. В этом форуме можно прикреплять такие большие файлы…?
3 мар 21, 16:32    [22289155]     Ответить | Цитировать Сообщить модератору
 Re: Combo Box  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7269
ВалерийЮ

...Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто не сумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда....
источник комбо:
Me.combo.RowSource = "SELECT top 1 ' ALL' FROM tbl  UNION select фамилия from tbl"
где tbl:справочник-источник Combo
в запрос с top можно(даже нужно) добавить числовое поле со значением 0(его не может быть в кодовом поле/счетчике справочника)затем использовать это значение в скрытом столбце COMBO для отбора записей по ключевому полю справочника
после обновления combo:
if Me.combo=' все' Then  ' или combo=0
Me.Form.RecordSource ="select * from тблИсточникФормы"
Else
Me.Form.RecordSource ="select * from тблИсточникФормы where полеСвязиСоСправочником=" & Me.combo
End if
RecordSource наше фсё
3 мар 21, 18:09    [22289181]     Ответить | Цитировать Сообщить модератору
 Re: Combo Box  [new]
ВалерийЮ
Member

Откуда:
Сообщений: 23
sdku
ВалерийЮ

...Все было бы очень просто, если бы не значение в комбобоксе „ALL“. Я просто не сумел это значение передать на подчиненные формы. Вот это и была главная проблема. И здесь уже без VBA никуда....
источник комбо:
Me.combo.RowSource = "SELECT top 1 ' ALL' FROM tbl  UNION select фамилия from tbl"
где tbl:справочник-источник Combo
в запрос с top можно(даже нужно) добавить числовое поле со значением 0(его не может быть в кодовом поле/счетчике справочника)затем использовать это значение в скрытом столбце COMBO для отбора записей по ключевому полю справочника
после обновления combo:
if Me.combo=' все' Then  ' или combo=0
Me.Form.RecordSource ="select * from тблИсточникФормы"
Else
Me.Form.RecordSource ="select * from тблИсточникФормы where полеСвязиСоСправочником=" & Me.combo
End if
RecordSource наше фсё


СПАСИБО... ;)
3 мар 21, 20:53    [22289279]     Ответить | Цитировать Сообщить модератору
 Re: Combo Box  [new]
zimkon
Member

Откуда: guest_rusimport
Сообщений: 193
ВалерийЮ,
для вашего случая с фильтрами
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
20 мар 21, 22:48    [22297805]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft Access Ответить