Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Связанные комбобоксы / 12 сообщений из 12, страница 1 из 1
20.03.2006, 16:43:19
    #33612529
Exion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Помогите решить проблему. Есть 3 таблицы, связаны отношением один-ко-многим. Допустим: Страна->Город->Улица. Есть три комбобокса (пусть с одноименным названием). В первом долдны быть страны из таблицы, добавлять нельзя новые. При выборе страны, во втором долдны отображаться города именно из этой страны. Причем можно добавлять новые. И улицы соотвественно для города должны отображаться. Как сделать? очень надо :)! Вообще событие обрабатывать AfterUpdate или другое?
...
Рейтинг: 0 / 0
20.03.2006, 16:46:25
    #33612543
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
А что, у комбобокса есть событие AfterUpdate?
Обрарабатывайте Click.
...
Рейтинг: 0 / 0
20.03.2006, 18:44:10
    #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
21.03.2006, 12:19:00
    #33614048
Exion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
2Melkiades: вообще-то есть. Да, пожалуй, клик лучше подойдет.
2Worobjoff: я только недавно начал работать с аксессом, так что не очень все понял. True DBList. - это что такое и где его взять? И чем отличается DataCombo от ComboBox?
...
Рейтинг: 0 / 0
21.03.2006, 12:28:16
    #33614092
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Exionя только недавно начал работать с аксессомНадо задать этот вопрос на форуме по Access.
...
Рейтинг: 0 / 0
21.03.2006, 12:50:19
    #33614158
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Worobjoff Exionя только недавно начал работать с аксессомНадо задать этот вопрос на форуме по Access.
Хорошо еще, что он хотя бы в четвертом топике сказал, что это аксесс.
А то я чуть с ума не сошел, выискивая AfterUpdate у комбика...
...
Рейтинг: 0 / 0
21.03.2006, 13:27:52
    #33614306
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
А я подумал что автор научился работать пока только с DataGrid и теперь хочет двигаться дальше.
...
Рейтинг: 0 / 0
21.03.2006, 15:26:50
    #33614708
Exion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Мда, я тут первый раз и не заметил, что не написал про то, что в аксесе работаю и что не пишут конкретно про него в этой теме. Поискав про комбобокс я много нашел именно из этой темы: VBA, поэтому и задал тут вопрос. Сорри.
...
Рейтинг: 0 / 0
21.03.2006, 15:56:04
    #33614785
Связанные комбобоксы
Пример базы прикрепи, а то не хочется все с нуля расписывать.
...
Рейтинг: 0 / 0
21.03.2006, 16:35:40
    #33614884
Exion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Тут собственно и нечего прикладывать. У меня сложный и большой проект, надо только связать 3 бокса. Я на лету сделал для примера, вложил.
...
Рейтинг: 0 / 0
21.03.2006, 16:52:07
    #33614944
Связанные комбобоксы
Посмотри.
...
Рейтинг: 0 / 0
22.03.2006, 10:53:41
    #33616385
Exion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связанные комбобоксы
Огромное спасибо, то что нужно (почти, но остальное доработаю сам).
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Связанные комбобоксы / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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