powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Связанные комбобоксы
12 сообщений из 12, страница 1 из 1
Связанные комбобоксы
    #33612529
Exion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить проблему. Есть 3 таблицы, связаны отношением один-ко-многим. Допустим: Страна->Город->Улица. Есть три комбобокса (пусть с одноименным названием). В первом долдны быть страны из таблицы, добавлять нельзя новые. При выборе страны, во втором долдны отображаться города именно из этой страны. Причем можно добавлять новые. И улицы соотвественно для города должны отображаться. Как сделать? очень надо :)! Вообще событие обрабатывать AfterUpdate или другое?
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33612543
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, у комбобокса есть событие AfterUpdate?
Обрарабатывайте Click.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33612883
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше всего эту задачу решить используя True DBList. Т.к. комбобоксы этой фирмы отрабатывают свойство Filter рекордсета. Там - использовать событие SelChange.
Можно каждый раз выполнять запрос с новым условием Where (если использовть DataCombo - он не отрабатывает свойство Filter рекордсета).
Можно наполнять обычный комбобокс из рекордсета. Будет не сложнее чем второй вариант.

Для изменения фильтра, в ComboBox-е надо ловить Click. В DataCombo, в этом же событии, надо учесть еще и параметр Area.
Добавление в ComboBox (упрощенно)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Dim ch As Boolean

Private Sub Combo1_Change()
   ch = True
End Sub

Private Sub Combo1_Click()
   ch = False
End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)
   If KeyAscii = vbKeyEscape Then
      ch = False
      Combo1.ListIndex =  0 
   ElseIf KeyAscii =  13  Then
      Combo1_Validate False
   End If
End Sub

Private Sub Combo1_Validate(Cancel As Boolean)
   If ch Then
      Combo1.AddItem Combo1.Text
      ch = False
   End If
End Sub
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614048
Exion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Melkiades: вообще-то есть. Да, пожалуй, клик лучше подойдет.
2Worobjoff: я только недавно начал работать с аксессом, так что не очень все понял. True DBList. - это что такое и где его взять? И чем отличается DataCombo от ComboBox?
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614092
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exionя только недавно начал работать с аксессомНадо задать этот вопрос на форуме по Access.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614158
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Worobjoff Exionя только недавно начал работать с аксессомНадо задать этот вопрос на форуме по Access.
Хорошо еще, что он хотя бы в четвертом топике сказал, что это аксесс.
А то я чуть с ума не сошел, выискивая AfterUpdate у комбика...
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614306
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я подумал что автор научился работать пока только с DataGrid и теперь хочет двигаться дальше.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614708
Exion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мда, я тут первый раз и не заметил, что не написал про то, что в аксесе работаю и что не пишут конкретно про него в этой теме. Поискав про комбобокс я много нашел именно из этой темы: VBA, поэтому и задал тут вопрос. Сорри.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614785
Пример базы прикрепи, а то не хочется все с нуля расписывать.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614884
Exion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут собственно и нечего прикладывать. У меня сложный и большой проект, надо только связать 3 бокса. Я на лету сделал для примера, вложил.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33614944
Посмотри.
...
Рейтинг: 0 / 0
Связанные комбобоксы
    #33616385
Exion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо, то что нужно (почти, но остальное доработаю сам).
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Связанные комбобоксы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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