как связать два combobox'а

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

как связать два combobox'а

Сообщение skulida » 28.12.2003 (Вс) 0:48

т.е. на форме есть два комбобокса combo1 и combo2, значения которых разные поля одной таблицы "agent"
'
Set cn = New ADODB.Connection
cn.Open "DSN=BASE"
Set rs = cn.Execute("select id_agent, agent_name from agent")
While Not rs.EOF
Combo1.AddItem rs.Fields("id_agent")
Combo2.AddItem rs.Fields("agent_name")
rs.MoveNext
Wend
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
'
подскажите как обработать события change по этим комбобоксам, чтобы выставлялись сщщтветствующие значения.
спасибо.

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 28.12.2003 (Вс) 17:43

Если я правильно поняла, ты хочешь, чтобы в одном комбобоксе выбирался ID агента, а в другом автоматически высвечивалось его имя... Вообще-то это несложно сделать, только зачем тебе такое "чудо"??..

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 28.12.2003 (Вс) 21:43

amelina писал(а):Если я правильно поняла, ты хочешь, чтобы в одном комбобоксе выбирался ID агента, а в другом автоматически высвечивалось его имя... Вообще-то это несложно сделать, только зачем тебе такое "чудо"??..


совершенно верно, верно также и обратное, т.е. связь двусторонняя.
предполагается, что пользователь будет формировать запрос к базе используя значения в комбобоксах, т.е. он може не знать номер агента, но знает его фамилия, или же наоборот.
Главное что в одно в первом комбобоксе был номер агента выбран. он помещается в SQL запрос.
Так как сделать сие? а то кручу верчю никак не выходит...

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 29.12.2003 (Пн) 10:43

Мне такое решение (с двумя списками) кажется каким-то неизящным и "кривым", извини, хотя твое дело..
Вот, что тебе нужно:

Во-первых, когда пишешь
Код: Выделить всё
combo2.AddItem rs("agent_name")
,
добавь строчку
Код: Выделить всё
combo2.ItemData(combo2.NewIndex) = rs("agent_id")


Потом для события combo2_click:
Код: Выделить всё
Combo1 = Combo2.ItemData(Combo2.ListIndex)


Я, например, сделала бы два oprButton'а с выбором
1. По имени агента
2. По коду агента
И в зависимости от этого заполняла бы листбокс и строила бы инстукцию SQL.

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 30.12.2003 (Вт) 0:37

amelina

спасибо..работает
вот как бы еще сделать и обратную связь по клику combo1? :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 7

    TopList