Как экспортировать данные из Access в Excel, используя ADO (Часть 1)


Экспорт данных в Excel из Access, используя ADO в Delphi

В качестве примера рассмотрим реализацию экспорта данных в MS Excel, из БД ADO Access. Для этого создадим БД , например — Телефонный справочник.

Итак, для начала перейдем в папку с нашим проектом, кликаем там правой клавишей мыши, выбираем Создать — Microsoft Access База данных и открываем ее. И заполняем поля как на рисунке.

-данных-в-Excel-из-Access-1 Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

Тип данных поля ID выбираем счетчик, и назначаем его ключевым.  Все остальные поля у нас будут текстовыми.  Далее сохраняемся и в появившемся поле пишем имя нашей  таблицы, по которому в дальнейшем будем к ней обращаться.

Например, нашу назовём Справочник.

-данных-в-Excel-из-Access-2 Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

Затем закрываем Access и переходим в Delphi.

Помещаем на форму компоненты:

  • DBGrid1 (В моем случае это DBGridEh1);
  • ADOConnection1, DataSuorce1 и ADOTable1;
  • И 5 Клавиш Button;

-на-форме-Delphi Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

Далее выделяем компонент ADOConnection1, свойство LoginPrompt устанавливаем в false, кликаем в свойстве ConnectionString и в появившемся окне выбираем Build.

-ADOConnection Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

Выбираем драйвер как на скриншоте,

-канала-передачи-данных Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

(если вы используете более ранние версии Delphi и Office, то в место  указанного в скриншоте драйвера, выбирайте Microsoft Jet 4 OLE DB Provider).

Жмем далее и в поле – «Источник данных», прописываем полный путь к файлу нашей базы данных.

-с-базой-данных-Путь-соединения Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

C:\Users\Администратор\Documents\RAD Studio\Projects\Телефонный справочник\Microsoft Access База данных.accdb

Жмем Ok и переходим к компоненту DataSourceв свойстве DataSet которого выбираем ADOTable1. В свойстве DataSource компонента DBGridEh1, выбираем DataSource1.

Теперь выделяем компонент ADOTable1 и начинаем заполнять его основные свойства, так в свойстве TableName выбираем Справочник. В свойстве Connection выбираем   ADOConnection1 и свойство Active устанавливаем в true, после чего наш DBGridподключит  таблицу нашей базы данных.

Осталось выровнять столбцы в нашеё таблице, чтобы все корректно отображалось в DBGridEh1.

Для этого создадим обработчик событий FormCreate на форме, где для выравнивания ширины столбцов, запишем следующий код: 

Теперь свойство Width компонента DBGridEhвыставляем в 638 (ширина грида). А его свойство ReadOnly, выставляем в True — чем запретим редактирование данных пользователем в таблице напрямую.

Сохраняем все, запускаем проект…

-данных-в-Excel-из-Access-7 Как экспортировать данные из Access в Excel, используя ADO (Часть 1)

Расписываем события для кнопок.

Создаем обработчик событий на Button1, где записываем

В свойстве Caption кнопки Button1 пишем — «Редактировать» 

Создаем обработчик событий на Button2, где записываем

В свойстве Caption кнопки Button2  пишем — «Добавить«

Создаем обработчик событий на Button3, где записываем

В свойстве Caption кнопки Button3  пишем — «Удалить«  

Создаем обработчик событий на Button4, где записываем

В свойстве Caption кнопки Button4  пишем — «Сохранить», в свойстве Caption кнопки Button5  пишем — «Экспорт в Эксель».