Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ComboBox+ComboBox зависимые списки / 2 сообщений из 2, страница 1 из 1
23.11.2008, 12:42
    #35670206
xsanterx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox+ComboBox зависимые списки
Как создать зависимые списки?
Например, есть база *.mdb в ней таблицы :
1 таблица ГЛАВНАЯ (со значениями одного из полей ИМЯ , ФАМИЛИЯ и ОТЧЕСТВО)
2 таблица ТАБЛИЦА С ИМЕНАМИ (Игорь,Сергей, Анатолий и т.д.)
3 таблица ТАБЛИЦА С ФАМИЛИЯМИ (ИВАНОВ,ИВАНЧЕНКО,ПЕТРОВ и т.д.)
4 таблица ТАБЛИЦА С ОТЧЕСТВАМИ (ВИТАЛЬЕВИЧЬ,АНАТОЛЬЕВИЧЬ,ПЕТРОВИЧЬ и т.д.)

На форме размещены 2 КомбоБокса

1. Первый КомбоБОкс заполняется значениями первой таблицы (ИМЯ , ФАМИЛИЯ и ОТЧЕСТВО)
2. Второй КомбоБОкс заполняется значениями исходя из выбора в первом КомбоБОксе (если это имена то значениями имен из таблицы ТАБЛИЦА С ИМЕНАМИ и т.д.)

Как программно построить эти зависимые списки. Заранее благодарен за ответ...
...
Рейтинг: 0 / 0
24.11.2008, 17:05
    #35672257
jhonkuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox+ComboBox зависимые списки
Вот для трех, писано в Access, кусок выдрал из готовой программы. Смысл уловишь, подстроишь под себя:

Первый комбо

Private Sub rnfrm_AfterUpdate()
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
mofrm.RowSource = ""
rst.Open "select * from mo where idrn=" & Me.rnfrm.Column(1), CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.MoveFirst
While Not rst.EOF
mofrm.RowSource = rst!mo & ";" & rst!id & ";" & mofrm.RowSource
rst.MoveNext
Wend
rst.Close

End Sub

Второй

Private Sub mofrm_AfterUpdate()
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Me.nsfrm = ""
Me.ulfrm = ""
nsfrm.RowSource = ""
rst.Open "select * from town where idmo=" & Me.mofrm.Column(1), CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.MoveFirst
While Not rst.EOF
nsfrm.RowSource = rst!point & ";" & rst!id & ";" & nsfrm.RowSource
rst.MoveNext
Wend
rst.Close

End Sub

Третий

Private Sub nsfrm_AfterUpdate()
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
ulfrm.RowSource = ""
Me.ulfrm = ""
rst.Open "select * from street where id_town=" & Me.nsfrm.Column(1), CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.MoveFirst
While Not rst.EOF
ulfrm.RowSource = rst!street & ";" & ulfrm.RowSource
rst.MoveNext
Wend
rst.Close

End Sub

При выборе значения из первого комбика заполняется второй, после второго - третий. Последовательно от первого к последнему.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ComboBox+ComboBox зависимые списки / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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