powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
29 сообщений из 29, показаны все 2 страниц
Combo Box
    #40049718
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотел сделать так что-бы в комбобоксе отображались и передавались в подчиненую форму только два типа книг „Access“ и все книги „All books“. Но неполучилось даже сделать „All books“...В Row Sourse пробовал прописать такие варианты:

SELECT DISTINCT Books.[Book type] FROM Books UNION SELECT "All books" from Books GROUP BY [Books].[Book type];

SELECT [Book type] AS Filter, [Book type] FROM [Books] UNION SELECT 'All books' AS Filter, "All" AS [Book type] FROM [Books];

SELECT Books.[Book type] FROM [Books] UNION SELECT "All books" FROM Books GROUP BY [Books].[Book type];

Пробовал и так:

Row Source Type: ValueList
Row Source: Access;All books

и добавил Event:

Private Sub BookType_AfterUpdate()
If Me.BookType = "All books" Then
strFilter = "*"
Else
strFilter = "'" & Me.BookType & "'"
End If
End Sub

Но ничего толкового неполучилось. Облазил весь интернет, тоже ничего...:(
...
Рейтинг: 0 / 0
Combo Box
    #40049721
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См.форму "books"
и не обзывайте объекты и поля используя зарезервированные слова (Type)
...
Рейтинг: 0 / 0
Combo Box
    #40049723
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще: поле [Book type] в тбл. Books совершенно излишествующее
...
Рейтинг: 0 / 0
Combo Box
    #40049732
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо...:) Интересное решение...:)
...
Рейтинг: 0 / 0
Combo Box
    #40049736
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:) Все равно спасибо...:)
...
Рейтинг: 0 / 0
Combo Box
    #40049764
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:)
...
Рейтинг: 0 / 0
Combo Box
    #40049771
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:) Все равно спасибо...:)
А я хочу спросить:
а чем,в принципе, отличается предложенный вариант от того что Вы хотите?? Тем что комбо в заголовке ленточной формы (а не в области данных не нужной никому кроме Вас главной формы)и зачем аж 2 формы(главная с подчиненной),когда вполне хватит и одной:или это такой принцип-чем сложней тем "круче"
...
Рейтинг: 0 / 0
Combo Box
    #40049782
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
Нееее...Что-круче мне не надо... Просто в этой главной форме будут две подчиненные формы которые будут брать данные от этого комбобокса...:)
...
Рейтинг: 0 / 0
Combo Box
    #40049785
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
ВалерийЮ
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:)


СПАСИБО... :)
...
Рейтинг: 0 / 0
Combo Box
    #40049786
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
ВалерийЮ
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:) Все равно спасибо...:)
А я хочу спросить:
а чем,в принципе, отличается предложенный вариант от того что Вы хотите?? Тем что комбо в заголовке ленточной формы (а не в области данных не нужной никому кроме Вас главной формы)и зачем аж 2 формы(главная с подчиненной),когда вполне хватит и одной:или это такой принцип-чем сложней тем "круче"


Все равно большое спасибо что откликнулись и помогли... :)
...
Рейтинг: 0 / 0
Combo Box
    #40049811
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ
sdku,
.... Просто в этой главной форме будут две подчиненные формы которые будут брать данные от этого комбобокса...:)
Если это две разные сущности-все правильно, если же это одна сущность, то "размазывать" её по двум таблицам есть не ICE
...
Рейтинг: 0 / 0
Combo Box
    #40049833
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
ВалерийЮ
Но мне нужно что-бы комбобох был в главной форме, а данные в подчиненной форме, как в моем примере...:)


Попробовал прицепить вторую подчиненную форму ML-Sub1. Когда в комбобоксе выбираю значение „Access“, то реагируют обе подчиненные формы. Все отлично. Но когда в комбобоксе опять выбираю значение „All books“, то тогда уже реагирует только первая подчиненная форма ML-Sub, а вторая подчиненная форма остается со значением „Access“...:( Не могли бы вы помочь еще раз…? :)

Это моя писанина…:\

Код: vbnet
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.
Private Sub BookType_AfterUpdate()
Dim strCriteria As String
    
    If Not Me.BookType = -1 Then strCriteria = "[Type Id]=" & str(Me.BookType)
    With Me.[ML-Sub].Form
        .Filter = strCriteria
        .FilterOn = (Len(strCriteria) > 0)
    End With
    With Me.[ML-Sub1].Form
        .Filter = strCriteria
        .FilterOn = (Len(strCriteria) > 0)
    End With
    
End Sub

Private Sub BookType_AfterUpdate()
Dim strCriteria As String
    
    If Not Me.BookType = -1 Then strCriteria = "[Type Id]=" & str(Me.BookType)
    With Me.[ML-Sub].Form
        .Filter = strCriteria
        .FilterOn = (Len(strCriteria) > 0)
    End With
    
    If Not Me.BookType = -1 Then strCriteria = "[Type Id]=" & str(Me.BookType)
    With Me.[ML-Sub1].Form
        .Filter = strCriteria
        .FilterOn = (Len(strCriteria) > 0)
    End With

    End Sub
...
Рейтинг: 0 / 0
Combo Box
    #40049934
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так именно об этом и говорится:зачем столько форм если у Вас имеется 2 таблицы-одна главная [books] и вторая справочник[type]- а форм Вы хотите создать аж 3
Если же это только пример,то в нем мало данных-хотелось бы их увидеть полностью и понять что же Вы хотите сделать(какую информацию и из каких данных надо извлечь/занести)
...
Рейтинг: 0 / 0
Combo Box
    #40049940
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
Так именно об этом и говорится:зачем столько форм если у Вас имеется 2 таблицы-одна главная [books] и вторая справочник[type]- а форм Вы хотите создать аж 3
Если же это только пример,то в нем мало данных-хотелось бы их увидеть полностью и понять что же Вы хотите сделать(какую информацию и из каких данных надо извлечь/занести)


В первой подчиненной форме будут отображаться данные из одной таблицы, а во второй подчиненной форме будут отображаться данные из другой таблицы. Данные в таблицах совсем разные, кроме одного значения. И это одно общее значение указывается в комбобоксе. В этом примере, что я прислал, только сама суть того, что нужно сделать.
...
Рейтинг: 0 / 0
Combo Box
    #40049976
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ,
...
Рейтинг: 0 / 0
Combo Box
    #40050007
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku

В первой подчиненной форме будут отображаться данные из одной таблицы, а во второй подчиненной форме будут отображаться данные из другой таблицы. Данные в таблицах совсем разные, кроме одного значения. И это одно общее значение указывается в комбобоксе. В этом примере, что я прислал, только сама суть того, что нужно сделать.
Для тех кто в танке, повторяю:одна таблица [type] источник данных ПоляСоСписком вторая источник ленточной формы-о какой такой "другой" таблице Вы говорите(в примере таковой нет)????
Если она имеет место быть то после обновления Combo смените источник у формы на этой таблице (по полной аналогии с примером)
...
Рейтинг: 0 / 0
Combo Box
    #40050023
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
sdku

В первой подчиненной форме будут отображаться данные из одной таблицы, а во второй подчиненной форме будут отображаться данные из другой таблицы. Данные в таблицах совсем разные, кроме одного значения. И это одно общее значение указывается в комбобоксе. В этом примере, что я прислал, только сама суть того, что нужно сделать.
Для тех кто в танке, повторяю:одна таблица [type] источник данных ПоляСоСписком вторая источник ленточной формы-о какой такой "другой" таблице Вы говорите(в примере таковой нет)????
Если она имеет место быть то после обновления Combo смените источник у формы на этой таблице (по полной аналогии с примером)


Я же говорил что это только маленький примерчик. Потому и таблицу в этом примерчике сделал только одну. Чтобы было проще разбираться в проблеме. А натурально, когда этот примерчик заработает, тогда к этому примеру подлючу две большие таблицы с абсолютно разными данными. Где только одно поле в обоих таблицах будет одинаковым.
...
Рейтинг: 0 / 0
Combo Box
    #40050032
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
ВалерийЮ,


Когда во второй подчиненной форме в ручную снимаешь фильтр(как в рисунке), тогда все хорошо. Но автоматически фильтр не снимается.
...
Рейтинг: 0 / 0
Combo Box
    #40050037
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku

Если она имеет место быть то после обновления Combo смените источник у формы на этой таблице (по полной аналогии с примером)
Интересно!!А Вы читаете ответы???
Ну все-надоело
...
Рейтинг: 0 / 0
Combo Box
    #40050047
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
sdku

Если она имеет место быть то после обновления Combo смените источник у формы на этой таблице (по полной аналогии с примером)
Интересно!!А Вы читаете ответы???
Ну все-надоело


1.Когда на Комбобоксе значение „All books“, значит фильтр для обеих подченных форм ВЫКЛЮЧЕН.

2.Когда на Комбобоксе значение „Access“, значит фильтр для обеих подченных форм ВКЛЮЧЕН.

3.Но когда на Комбобоксе опять выбираешь значение „All books“, тогда фильтр ОТКЛЮЧАЕТСЯ только на первой подченной форме. Хотя должен ОТКЛЮЧАТЬСЯ сразу на обеих подченных формах.

4.Тогда на второй подчиненной форме фильтр приходится ОТКЛЮЧАТЬ в ручную. Как показал в рисунке.

ВОТ В ЧЕМ ВСЯ СУТЬ ЭТОЙ ПРОБЛЕМЫ… :\
...
Рейтинг: 0 / 0
Combo Box
    #40050097
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ
Когда во второй подчиненной форме в ручную снимаешь фильтр(как в рисунке), тогда все хорошо. Но автоматически фильтр не снимается.
что ты мне баки забиваешь?! Всё работает.
Я вижу, что ты вносил изменения.
...
Рейтинг: 0 / 0
Combo Box
    #40050098
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ
ОТКЛЮЧАТЬ в ручную
чтобы руки шаловливые не лезли куда не попадя и не нажимали что не надо, а так же редактировали форму как...
...
Рейтинг: 0 / 0
Combo Box
    #40050149
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
ВалерийЮ
ОТКЛЮЧАТЬ в ручную
чтобы руки шаловливые не лезли куда не попадя и не нажимали что не надо, а так же редактировали форму как...


Ураааааа...Все работает...ОГРОМНОЕ СПАСИБО за твое потраченное время...С меня бочка пива...
...
Рейтинг: 0 / 0
Combo Box
    #40050162
ВалерийЮ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
sdku

Если она имеет место быть то после обновления Combo смените источник у формы на этой таблице (по полной аналогии с примером)
Интересно!!А Вы читаете ответы???
Ну все-надоело


И Вам спасибо за потраченное время…В этом деле я еще чайник(кто-бы сомневался), но я стараюсь, учусь…Так что…Еще раз спасибо… :)
...
Рейтинг: 0 / 0
Combo Box
    #40050244
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерийЮ,
Мне до сих пор не ясно какие данные Вы имеете и что хотите(какую цель преследуете) и было бы намного проще если бы Вы выложили реальные данные с объяснением того что хотите получить,а может и просто четко сформулированное ТЗ
(вполне допускаю что решаемая Вами задача очень проста-может и VBA не нужен)
...
Рейтинг: 0 / 0
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
29 сообщений из 29, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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