
- •Лабораторная работа №1 Тема: Анализ предметной области задачи. Проектирование структуры базы данных
- •Постановка задачи
- •Лабораторная работа №2 Тема: Создание таблиц бд инструментальным способом
- •Задания:
- •Лабораторная работа №5 Тема: Определение отношений между таблицами
- •Задание:
- •Лабораторная работа №6 Тема: Создание таблиц бд реляционным способом
- •Задание:
- •Лабораторная работа №7 Тема: Навигация нд. Модификация нд
- •Задание:
- •Лабораторная работа №9 Тема: Поиск записей
- •Лабораторная работа №10 Тема: Запросы
- •Задание:
- •Лабораторная работа №11 Тема: Запросы с параметром. Динамический запрос
- •Задание:
- •Лабораторная работа №12 Тема: Простой отчет (Rave Report, qReport)
- •Задание:
- •Создание простейшего отчёта с помощью qReport
- •Лабораторная работа №13 Тема: Отчет с группировкой. Отчет со связанными таблицами
- •Задание:
- •Создание отчёта с группировкой (qReport)
- •Создание отчёта с группировкой (Rave Report)
- •Создание отчёта для связных нд (qReport)
- •Лабораторная работа №14 Тема: Экспорт и импорт данных в Word, Excel
- •Задание:
- •Экспорт в ms excel
- •Экспорт в ms Word
- •Лабораторная работа №15 Тема: Экспорт и импорт данных в Calc, Writer
Экспорт в ms Word
Добавляем в раздел uses модуль ComObj, в котором описаны все необходимые функции для работы с COM – объектами;
Создаём обработчик события для пункта меню Экспорт – Word. В обработчике прописываем следующий код программы:
var count:longint;
s:string;
v:Variant;
begin
//создание объекта для управления документом
v:=CreateOleObject('Word.Basic');
//создание нового документа
v.filenew('normal');
//устанавливаем тип шрифта
v.Font('Times new Roman');
//устанавливаем размер шрифта 16
v.fontsize(16);
//указываем заголовок
v.insert('Список студентов');
//переход на новую строку
v.insert(#13#10);
//счетчик символов, которые необходимо затабулировать
count:=1;
v.fontsize(14);
//заголовки столбцов разделяем символом табулирования
s:='Код'+chr(9)+'ФИО'+chr(9)+'Форма обучения'+chr(9)+'Группа'+chr(9)+'Прописка'+chr(9)+'Паспорт';
//вставляем полученную строку в документ
v.insert(s);
v.insert(#13#10);
//количество символов заголовка + символ Enter
count:=count+length(s)+1;
with DataModule2 do
begin
//просматриваем всю таблицу
TStydent.First;
while not TStydent.Eof do
begin
//выводим необходимые данные через Tab
s:=TStydentKod_styd.AsString+' '+chr(9)+TStydentFIO.AsString+' '+chr(9)+TStydentForma_ob.AsString+' '+chr(9)+TStydentNazvanie_gr.AsString+' '+chr(9)+TStydentPropiska.AsString+' '+chr(9)+TStydentNom_ser_pasp_st.AsString;
v.insert(s);
v.insert(#13#10);
//накапливаем счётчик
count:=count+length(s)+1;
TStydent.Next;
end;
end;
//т.к. начальное значение было 1, уменьшаем счетчик
dec(count);
//выделяем текст для табулирования
v.setselrange(17,count+17);
//переводим текст в таблицу
v.texttotable;
v.borderinside;
v.borderoutside;
//переходим на начало документа
v.startofdocument;
//сохраняем файл
v.filesaveas('Spisok.doc');
v:=CreateOleObject('Word.application');
//открываем созданный документ
v.Visible:=true;
end;
Экспорт данных с использованием шаблона документа:
В шаблоне Word'a в нужные места расставляешь Bookmark (Insert-Bookmark).
В программе позиционируем на эту закладку и вставляем необходимые данные.
Код программы:
var k,What, Which, Count, Name: OLEVariant;
begin
k:='Stydent.doc';
//открытие выбранного шаблона в Word
WordApplication1.Documents.Add(k,EmptyParam,EmptyParam,EmptyParam);
//переходим к закладке kod
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='kod';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentKod_styd.AsString);
//переходим к закладке stydent
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='stydent';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentFIO.AsString);
//переходим к закладке gryppa
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='gryppa';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentNazvanie_gr.AsString);
//переходим к закладке forma_ob
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='forma_ob';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentForma_ob.AsString);
//переходим к закладке propiska
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='propiska';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentPropiska.AsString);
//переходим к закладке pasport
what:=wdGoToBookmark;
Which:=Unassigned;
count:=unassigned;
name:='pasport';
WordApplication1.Selection.GoTo_(What,which,count,name);
//на место закладки помещаем данные из БД
WordApplication1.Selection.TypeText(DataModule2.TStydentNom_ser_pasp_st.AsString);
//открываем документ
WordApplication1.Visible:=true;
end;