Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как загрузить все данные одного поля в Combobox? [D7, Access]


Anarki ©   (2004-03-10 02:43:00) 

Есть ComboBox1.

Как загрузить в этот список все данные поля Field1 из таблицы Access?

Использую ADODataSet.


Anarki   (2004-03-10 16:52:00) [1]


> VAleksey ©   (10.03.04 16:23) [10]

Прикол в том, что только что добавил ещё один такой же DBCombobox - с ним всё ОК!


VAleksey   (2004-03-10 16:23:00) [2]


> Anarki ©   (10.03.04 16:15) [9]

Где - то в коде ошибка :-))


Anarki   (2004-03-10 16:15:00) [3]

Благодарю. Но есть один маленький глюк:

Данные загружаются в Combobox, при выборе какого-то поля из списка, а затем перехода к другому элемента управления или при нажатии на пустое место формы выбранный элемент з списка сбрасывается.

Т.е. например в списке

Понедельник
Вторник
Среда
Четверг

Выбираю Четверг. Потом кликаю на другой элемент упрлавения (например поле Edit), в Combobox'e значение сбрасывается опять к Понедельнику.


VAleksey   (2004-03-10 15:02:00) [4]


> YurikGl ©   (10.03.04 11:21) [6]

Сравнение с NULL ведет к непредсказуемым последствиям. Если вообще допустимо.
Вместо сравнения лучше использовать
> DataModule1.ADODataSet1.Fields[1].IsNull


Vlad   (2004-03-10 11:27:00) [5]


> Anarki ©   (10.03.04 02:43)  

Если хочешь чтобы выпадающий список формировался автоматически из значений некоторого поля, используй DBLookupComboBox.
За выпадающий список отвечает свойство ListSource и ListField


YurikGl   (2004-03-10 11:21:00) [6]

ComboBox1.Items.Clear;
DataModule1.ADODataSet1.First;
repeat
if DataModule1.ADODataSet1.Fields[1].Value<>null then
ComboBox1.Items.Add(DataModule1.ADODataSet1.Fields[1].Value);
DataModule1.ADODataSet1.Next;
until DataModule1.ADODataSet1.Eof;


Anarki   (2004-03-10 10:18:00) [7]

Да, значения в Field1 уникальные.

Допустим использую DBCombobox. Как загрузить туда список значений какого-нибудь поля из таблицы БД?
Там есть свойство DataSource, но вот что туда писать?


SPIRIT   (2004-03-10 08:19:00) [8]


> Fay ©   (10.03.04 08:03) [3]

обратного тоже нигде не сказано


Fay   (2004-03-10 08:03:00) [9]

2SPIRIT ©   (10.03.04 06:16) [2]
Нигде не сказано, что значения в Field1 уникальны.


SPIRIT   (2004-03-10 06:16:00) [10]

TDBCombobox


Fay   (2004-03-10 02:47:00) [11]

Нужно пойти в начало датасета и ползти то конца. При этом на каждой записи добавлять "данные этого поля" в ComboBox1.

Требуются уточнения?


Наверх

Титульная страница Поиск, карта сайта Написать письмо