Форма входа

Категории раздела

Мои статьи [15]

Поиск

Наш опрос

Оцените мой сайт
Всего ответов: 62

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0




Понедельник, 25.11.2024, 04:30
Приветствую Вас Гость | RSS

Delphiport.ucoz.com

Главная | Регистрация | Вход
Каталог статей


Главная » Статьи » Мои статьи

Экспорт данных в Excel из БД ADO Access 1 часть.

    Ничто не сделает наше приложение универсальней, чем возможность его взаимодействия с другими программами. Например имеем некую базу данных ADO Access. Отлично! Можем вносить и редактировать данные, можем их даже распечатать, но если нам нужно отправить эти данные по электронной почте, в скажем качестве отчета, мы вынуждены сканировать распечатанное и затем только отправлять сканы адресату. Данное действо конечно же возможно, но как минимум, не совсем удобно. Слишком много лишних ходов. Другое дело, нажал на кнопку и все данные переместились в Вордовский или Экселевский файлы. Здорово! Но как это сделать? Нет ничего проще!!! В этой статье мы об этом и поговорим.

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

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












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

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

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

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

                                           











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











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

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

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





















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

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

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

    Осталось привести нашу таблицу в Божеский вид, а именно выровнять столбцы, чтобы все корректно отображалось в DBGridEh1

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

begin

DBGridEh1.Columns.Items[0].Visible:=false;  //Столбец ID отображать не будем.

DBGridEh1.Columns.Items[1].Width:=100;

DBGridEh1.Columns.Items[2].Width:=100;

DBGridEh1.Columns.Items[3].Width:=100;

DBGridEh1.Columns.Items[4].Width:=100;

DBGridEh1.Columns.Items[5].Width:=200;

 

Button2.Visible:=False;  //Кнопки 2,3,4 отображать тоже не будем.

Button3.Visible:=False;

Button4.Visible:=False;

end;

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

    Сохраняем все, запускаем проект….,  и если все делалось внимательно, то наш грид должен принять вполне приличный видон.













Дело осталось за малым, расписываем события для кнопок.

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

begin

DbGridEh1.ReadOnly:=False;

AdoTable1.Edit;

Button1.Enabled:=false;

Button2.Visible:=true;

Button3.Visible:=true;

Button4.Visible:=true;

Button5.Visible:=false;

end;

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


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

begin

ADOTable1.Insert;

end;

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


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

begin

ADOTable1.Delete;

end;

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


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

begin

AdoTable1.Edit;

ADOTable1.Post;

DBGridEh1.ReadOnly:=True;

Button1.Enabled:=True;

Button2.Visible:=False;

Button3.Visible:=False;

Button4.Visible:=False;

Button5.Visible:=True;

end;

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

Ну вот собственно и все. В этой части мы вспомнили как создается и подключается база данных. Заготовка для работы у нас теперь есть, и в следующей части, мы научимся экспортировать данные из нашего справочника в MS Excel.

Категория: Мои статьи | Добавил: Sashok (04.03.2012)
Просмотров: 5832 | Рейтинг: 2.6/7
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright MyCorp © 2024