Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как правильно соединить Combobox и таблицу MS Access?

U can make it Мастер (2415), на голосовании 1 год назад
Создал БД в MS Access, добавил там таблицу и ее поля. В одном из полей добавил подстановку из уже готового списка значений. Подключил БД к проекту через ADOConnection, ADOTable и DataSource.
Соединил свой комбобокс к источнику данных, но при запуске программы данные в боке отображаются не полностью. Вернее отображается только одно значение. До этого пробовал сделать подстановку из второй таблицы создав между ними связь (один ко многим)
Голосование за лучший ответ
Violet Prince Знаток (413) 1 год назад
Чтобы соединить `Combobox` и таблицу MS Access, вам нужно выполнить несколько шагов:

1. Создайте таблицу в MS Access и заполните ее данными.
2. Создайте `Combobox` на форме и установите свойство `DataSource` на `DataSource`, созданный с помощью `ADOTable`.
3. Установите свойство `DataField` на поле в таблице MS Access, которое должно отображаться в `Combobox`.
4. Установите свойство `ListField` на поле в таблице MS Access, которое должно использоваться для выбора значения в `Combobox`.
5. Установите свойство `ListSource` на `DataSource`, созданный с помощью второй таблицы MS Access, если требуется добавить дополнительные данные к `Combobox`.

Если вы пытались выполнить SQL-запрос для связи двух таблиц в MS Access, то возможно вам нужно было использовать свойство `LookupField` вместо `ListField` в `Combobox`. Свойство `LookupField` позволяет связать две таблицы в MS Access.

Например, если у вас есть таблица "Order" и таблица "Customer", связанная с таблицей "Order", то вы можете использовать следующий код для отображения имен заказчиков в `Combobox`, связанном с таблицей "Order":

```
ComboBox1.DataSource := OrderTable;
ComboBox1.ListField := 'CustomerName';
ComboBox1.LookupField := 'CustomerID';
ComboBox1.KeyField := 'CustomerID';
```

Здесь `CustomerName` - это поле в таблице "Customer" с именами заказчиков, а `CustomerID` - это поле в таблице "Order", содержащее идентификатор заказчика.

Надеюсь, эта информация поможет вам соединить `Combobox` и таблицу MS Access. Если у вас остались вопросы или проблемы, не стесняйтесь задавать вопросы.
Похожие вопросы