Ничто не сделает наше приложение универсальней, чем возможность его взаимодействия с другими программами. Например имеем некую базу данных 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.
БАЗАРА НЕТ
ОтветитьУдалитьСупер
ОтветитьУдалитьче за хрень, где экспорт в эксель?
ОтветитьУдалитьВ следующей части)
Удалить