Получить значение параметра из Combobox'a

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

Получить значение параметра из Combobox'a

Сообщение AndrewMarcovich » 25.08.2006 (Пт) 15:46

Из небольшой таблички в базе SQL SERVER 2000 наполняется комбобокс. В табличке есть 2 колонки id,имя. В комбобокс кладутся имена, а id надо узнать потом, чтобы сохранить в базу то,что юзверь ввел.
Как-то можно в комбобокс ещё и id записать,чтобы потом его сразу получить,а то не делать же запрос в базу повторный и id искать по тексту?

Спасибо

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 25.08.2006 (Пт) 16:37

Код: Выделить всё
? Me.Combo1.ItemData(Me.Combo1.ListIndex)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.08.2006 (Пт) 16:49

Используй DataCombo вместо ComboBox. ListField - колонка для отображения, BoundColumn - колонка с ID. Заполняется значениями одной строчкой - Set DataCombo1.RowSource = rs. При выборе значения из списка в BoundText содержится соответствующее значение ID.
Лучший способ понять что-то самому — объяснить это другому.

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 26.08.2006 (Сб) 9:53

А почему,когда я открываю рекордсет,присваиваю его в rowsource,потом закрываю,то datacombo пустой?
Как победить?
Код: Выделить всё
rs.Open "select * from sv_r_users where is_delete = '0' and group_id = '1'", cn, adOpenForwardOnly, adLockReadOnly
    Set DC.RowSource = rs
    rs.Close

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 26.08.2006 (Сб) 13:20

Лююди!!Неужели никто не знает,как правильно рекордсет загнать в DataCombo,чтобы список наполнился?

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 26.08.2006 (Сб) 23:33

Аффтар, Ennor тебе указал путь...

:wink: Подскажу, юзай newindex, но не скажу как .... 8)

И отвыкай от использования * в запросе... :wink:
Пора уже всем хорошим людям собраться и убить всех плохих людей.

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 28.08.2006 (Пн) 15:58

Ладно,с newindex я разобрался,вот только itemdata имеет тип long, а вдруг у меня у id тип char,например?
Подскажите правильную последовательность присвоения к RowSource!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.08.2006 (Пн) 16:08

Если у тебя ID char, то ты сам себе злобный буратино.
Не понимаю, когда ключом делают что-то, отличное от Long или GUID.
Lasciate ogni speranza, voi ch'entrate.

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 28.08.2006 (Пн) 16:10

Про Буратино соглашусь,но не в этом дело!!:)Дело в принципиальной возможности хранить в комбобоксе более 1 го параметра.Прошу помощи по последнему сообщению своему!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.08.2006 (Пн) 19:48

Нет такой принципиальной возможности.
Создавай параллельно массив или коллекцию данных, а в ItemData храни индекс или указатель на эти данные.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 104

    TopList