Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных»




Скачать 210.58 Kb.
НазваниеПояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных»
Дата публикации31.07.2013
Размер210.58 Kb.
ТипПояснительная записка
zadocs.ru > Информатика > Пояснительная записка





Сетевые базы данных
П-91.005.КП





Федеральное агентство связи

ГОУ ВПО «Сибирский государственный университет

телекоммуникаций и информатики»

Уральский технический институт связи и информатики (филиал)
Пояснительная записка
к курсовому проекту по дисциплине

«Сетевые базы данных»

на тему «Проектирование и разработка информационной

системы цеха развития на ГТС»
Вариант №5


Выполнил:

Студент группы П-91

Михайлов Л. Е.
Руководитель:

Бикбулатова Н. Г.
Екатеринбург 2013

Отзыв консультанта

Федеральное агентство связи

ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики»

Уральский технический институт связи и информатики (филиал)
^ ЗАДАНИЕ ДЛЯ КУРСОВОГО ПРОЕКТИРОВАНИЯ

По предмету ______ Сетевые базы данных

Студента _IV курса__П-91 группы
Михайлова Льва Евгеньевича
ТЕМА ЗАДАНИЯ: Проектирование и разработка информационной системы цеха развития на ГТС
^ ИСХОДНЫЕ ДАННЫЕ
ВАРИАНТ 5
На ГТС существует цех развития, который распределяет номера телефонов и следит за очередью на телефоны. В цехе хранится информация о том, какой кабель и какой емкости заведен в каждый подъезд каждого дома по какой улице. Этим определяется количество телефонных номеров в каждом доме и подъезде.

По абонентам, имеющим телефоны, хранится информация о телефонном номере, организации или частном лице, являющемся владельцем телефона, дата установки, адрес владельца (улица, дом, подъезд, квартира).

Если абонент переезжает в другой район города, продает квартиру либо не платит за телефон, отказывается от телефона, то он лишается права пользоваться этим телефонным номером. Освобождающиеся номера поступают в резерв и могут затем предоставляться другим абонентам. В цехе развития хранится информация об абонентах, ждущих установки телефона и подавших заявления: дата подачи заявки, фамилия, имя , отчество, адрес, улица, дом, подъезд, квартира. Некоторые абоненты имеют льготную очередь ( участники ВОВ, инвалиды, некоторые организации и т.д.).

По каждой АТС хранится информация об используемых номерах, которые могут распределяться цехом развития. (Есть не используемые номера - зарезервированные и используемые, например, служебные номера ГТС). Также имеется информация о строящихся АТС, сроках введения в эксплуатацию. АТС вводятся не сразу всей емкостью, а очередями.

Запросы к варианту 5.

1. Вывести число абонентов в каждом АТС

2. Вывести должников во всей телефонной сети. Представить АТС с самым большим долгом.

3. Определите имеется ли возможность подключения льготного абонента к АТС (из отключенных пользователей) и к кабелю, если имеется свободная пара. ФИО абонента должно вводиться пользователем.

При выполнении курсового проекта на указанную тему должны быть представлены:

  1. Пояснительная записка

Постановка задачи; Проектирование базы данных; Алгоритм решения; Методы решения; Формы ввода вывода; Руководство пользователя; Руководство программиста; Заключение.

  1. Графическая часть проекта

Приложение А

Дата выдачи _____________________ Срок окончания______________

Преподаватель – руководитель____ _______________________________

Председатель цикловой комиссии________________________________

Содержание.
Введение 7

1 Постановка задачи 9

2 Проектирование базы данных 11

3 Алгоритм решения 15

4 Методы решения 17

5 Формы ввода вывода 18

6 Руководство программиста 26

7 Руководство пользователя 27

Заключение 28

Список литературы 29

Приложение А 30

Введение
Развитие средств вычислительной техники обеспечило создание и широкое использование систем обработки данных разнообразного назначения.

Разрабатываются информационные системы для обслуживания различных систем деятельности, систем управления хозяйственными и техническими объектами, модельные комплексы для научных исследований, системы автоматизации проектирования и производства, всевозможные тренажеры и обучающие системы.

Одной из важных предпосылок создания таких систем стала возможность оснащения их «памятью» для накопления, хранения и систематизация больших объемов данных. Другой существенной предпосылкой нужно признать разработку подходов, а также создание программных и технических средств конструирования систем, предназначенных для коллективного пользования. В этой связи потребовалось разработать специальные методы и механизмы управления такого рода совместно используемыми ресурсами данных, которые стали называться базами данных. Исследования и разработки, связанные с проектированием, созданием и эксплуатации баз данных, а также необходимых для этих целей языковых и программных инструментальных средств привели к появлению самостоятельной ветви информатики, получившей название системы управления данными.

В настоящий момент информационные технологии повсеместно внедряются во все сферы человеческой деятельности. Одной из самых распространенных современных информационных технологий является использование баз данных. Базы данных создаются и используются с помощью специальных программных и языковых средств, называемых Системами Управления Базами Данных (СУБД). Существует большое разнообразие типов СУБД. Наиболее распространенными в настоящее время являются реляционные СУБД, к которым и относится Access.

Программа «Информационная система цеха развития на ГТС» предназначена для распределения номеров телефонов и следит за очередью на телефоны. В цехе хранится информация о том, какой кабель и какой емкости заведен в каждый подъезд каждого дома по какой улице. Этим определяется количество телефонных номеров в каждом доме и подъезде.

По абонентам, имеющим телефоны, хранится информация о телефонном номере, организации или частном лице, являющемся владельцем телефона, дата установки, адрес владельца (улица, дом, подъезд, квартира).
1 Постановка задачи
В данной задаче необходимо разработать базу данных которая должна содержать следующие таблицы:

  • Пол (Код, вид);

  • Абонентская плата (Код абонента, дата оплаты, задолжность город, задолжность межгород, кол_мин_город, кол_мин_межгород, код_льготы, абонентская плата, код);

  • Абоненты (Код абонента, фамилия, имя, отчество, пол, возраст);

  • АТС (Код АТС, наименование, принадлежность, район, емкость);

  • Заявка (Код заявки, дата заявки, код абонента, код сотрудника);

  • Льготы (Код льготы, наименование, абонентская плата);

  • Принадлежность (Код, наименование);

  • Сотрудники (Код сотрудника, фамилия, имя, отчество);

  • Тарифы (Код тарифа, наименование, расценка);

  • Телефон (Номер телефона, город, адрес, код абонента, межгород, подключение, причина, вид телефона, код АТС, код тарифа, код заявки, код)

оформить запросы:

1. Вывести число абонентов в каждом АТС

2. Вывести должников во всей телефонной сети. Представить АТС с самым большим долгом.

3. Определите имеется ли возможность подключения льготного абонента к АТС (из отключенных пользователей) и к кабелю, если имеется свободная пара. ФИО абонента должно вводиться пользователем.

Реализуем базы данных в Microsoft Office Access.

Оболочку к базе данных разработаем в среде программирования Delphi. В программе будет одна главная форма, на ней будет предложен выбор дочерних форм, на которых и будет происходить работа с базой данных. С главной формы можно перейти на дочерние формы:

  • Справочная информация (в этом меню мы можем просматривать следующие таблицы: «Абоненты», «АТС», «Льготы», «Сотрудники», «Тарифы»);

  • Учетная информация (в этом меню будут представлены таблицы: «Заявка», «Абонентская плата», «Телефоны»);

  • Запросы (в этом меню проводится выполнение запросов: «Число абонентов», «Должники», «АТС с самым большим долгом», «Льготники»);

  • Отчеты (данное меню дает возможность сформировать отчеты для дальнейшей печати).

2 Проектирование базы данных
Для удобства разработки базы данных разработаем диаграмму ER-типа. На рисунке 1 представлена структура БД в виде диаграммы ER-типа


1 правило









6 правило




Рисунок 1- Диаграмма ER типа


класс принадлежности обязателен



класс принадлежности не обязателен

Рисунок 2- Классы принадлежности
На ER-диаграмме отображены два правила:

  • Правило №1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется всего одно отношение, объединяющее эти сущности. При этом ключом этого отношения может быть ключ любой сущности.

  • Правило №6. Если степень бинарной связи m:n, то необходимо формирование трех отношений: по одному для каждой сущности с соответствующими ключами и одного для связи.

Структура базы данных представлена в следующих рисунках:

Рисунок 3 – Абонентская плата

Рисунок 4 – Абоненты


Рисунок 5 – АТС

Рисунок 6 - Заявка

Рисунок 7 - Льготы

Рисунок 8 – Принадлежность

Рисунок 9 – Сотрудники

Рисунок 10 - Тарифы

Рисунок 11 – Телефон

3 Алгоритм решения
Основные функции программы состоят в просмотре базы данных, добавления новых данных, редактирования и удаления информации. Программа дает возможность создавать отчеты для дальнейшей печати.

Программа работает по принципам:

  • В базу заносятся заявки от клиентов;

  • Подключенные заявки переходят в абоненты;

  • У каждого клиента своя информация и детализация оплаты.

Программа функционирует по следующему алгоритму, в базу заносятся новые заявки на подключение стационарного телефона. Далее подключенные заявки заводятся в таблицу «Абоненты», которые пользуются услугами телефонной сети. После абонент может следить за своей услугой и создавать отчеты.

А
Рисунок 12 – Алгоритм функционирования главной формы
лгоритм функционирования главной формы представлен на рисунке 12.

4 Методы решения
Самый удобный и доступный способ создания базы данных является создание базы в Microsoft Office Access. Access повсеместно распространен не сложн в освоении и позволяет работать со своими файлами другим приложениям.

Самый простой способ разработки оболочки для базы данных является разработка оболочки в среде программирования Delphi.

В Delphi существует набор компонентов для работы с базами данных что позволяет очень быстро и легко подключить базу данных.

Также в Delphi встроен язык манипулированием данных SQL что позволяет выполнять различные операции с данными

Delphi очень распространен в наше время поэтому можно очень быстро найти нужную информацию по разработке программы.

Для реализации поставленной задачи используется ms Microsoft Office Access 2003 и Delphi 2007.

5 Формы ввода вывода
На рисунке 13 представлена главная форма в этой форме производится выбор дальнейшего пути пользователя:

  • Справочная информация (абоненты, АТС, льготы, сотрудники, тарифы);

  • Учетная информация (заявка, абонентская плата, телефоны);

  • Запросы (число абонентов, должники, АТС с самым большим долгом, льготники);

  • Отчеты (должники, сообщение об отключении);

  • Файл (выход).




Рисунок 13 – Главная форма
На рисунке 14 представлена база абонентов:

Рисунок 14 – Абоненты
На рисунке 15 представлена база всех АТС в сети.

Рисунок 15 – АТС
На рисунке 16 изображена форма, отображающая льготы по оплате.

Рисунок 16 – Льготы
На рисунке 17 выводится список сотрудников:

Рисунок 17 – Сотрудники

Таблица тарифов:

Рисунок 18 – Тариф
В учетной информации представлена информация о заявках, об абонентской плате и номерах телефонов:

Рисунок 19 – Заявка

Рисунок 20 – Абонентская плата

Рисунок 21 – Телефоны
Запросы (число абонентов, должники, АТС с самым большим долгом, льготники):

Рисунок 22 – Число абонентов по АТС

Рисунок 23 – Должники

Рисунок 24 – АТС с самым большим долгом

Рисунок 25 – Льготники

Отчеты (должники, сообщение об отключении):

Рисунок 26 – Отчет по должникам

Рисунок 27 – Уведомление об отключении телефона
6 Руководство программиста
Программа " информационная система цеха развития на ГТС." не требует инсталляции и состоит из двух файлов: исполняемого exe-файла (Project1.exe) и файла базы данных (DB.mdb). Для запуска программы запустить Project1.exe

Системные требования

  • ОС-Windows 98 и выше

  • ОЗУ- 64 мегабайт

  • Место на жёстком диске - не менее 5 мегабайт

  • Видео карта – от 32 мегабайт

  • Процессор – Pentium II



7 Руководство пользователя
После запуска программы пользователю предстоит выбор, в каком направлении использовать программу. В главном меню можно просматривать справочную информацию, следить за учетной информацией, выполнять операции с запросами и составлять отчеты.

  • Справочная информация

В этом меню мы можем просматривать следующие таблицы: «Абоненты», «АТС», «Льготы», «Сотрудники», «Тарифы». Во всех таблицах есть возможность добавления, редактирования и удаления информации.

  • Учетная информация

В этой меню будут представлены таблицы: «Заявка», «Абонентская плата», «Телефоны». В «Заявках» прослеживаются новые заявки и убираются подключенные абоненты. Абоненты могут проследить за своим лицевым счетом.

  • Запросы

В этом меню проводится выполнение запросов: «Число абонентов», «Должники», «АТС с самым большим долгом», «Льготники».

  • Отчеты

Данное меню дает возможность сформировать отчеты для дальнейшей печати.

Заключение
В ходе выполнения курсового проекта я закрепил свои знания в области проектирования и разработки баз данных, изучил новые компоненты по работе с базами данных в Delphi. Освоил новые операторы языка манипулирования данными SQL.

В составе с технической запиской была разработана программа.

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

Программа полной мере выполнена в соответствии с техническим заданием. Хотелось бы добавить в программу графические эффекты, новые запросы и фильтры.

Список литературы
Основная:
1. Агальцов В.П. Базы данных. Книга 2 Распределенные и удаленные базы данных: учеб. для вузов.- М.: ФОРУМ: ИНФРА-М , 2009

2. Клейменов С.А. Администрирование в информационных системах: учеб. пособие для вузов / С.А. Клейменов, В.П. Мельников, А.М. Петраков.- М.: Академия, 2008
Дополнительная:
3. Гольцман В. MySql 5.0 Библиотека программиста СПб.: Питер, 2010

4. Дунаев С.Б. Доступ к базам данных и техника работы в сети. Практические приемы современного программирования. – М.: Диалог МИФИ, 2000

5. Голицына О.Л. Базы данных: Учеб. пособие для студ. сред. проф. Образования/ О.Л. Голицына, Н.В. Максимов, И.И. Попов. – М.: ФОРУМ: ИНФРА-М, 2004

Приложение А

Листинг программы «Информационная система цеха развития на ГТС»
unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ImgList, XPMan;

type

TForm1 = class(TForm)

XPManifest1: TXPManifest;

ImageList1: TImageList;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

PopupMenu1: TPopupMenu;

Dsj1: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

N21: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure Dsj1Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N19Click(Sender: TObject);

procedure N21Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, ComObj;

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

form2.show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

form4.show;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

form5.show;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

form6.show;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

form7.show;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

form8.DBGrid1.DataSource:=DataModule1.DataSourceza;

form8.DBNavigator1.DataSource:=DataModule1.DataSourceza;

form8.Caption:='Заявка';

form8.show;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

form8.DBGrid1.DataSource:=DataModule1.DataSourcepl;

form8.DBNavigator1.DataSource:=DataModule1.DataSourcepl;

form8.Caption:='Абоненская плата';

form8.show;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

form8.DBGrid1.DataSource:=DataModule1.DataSourcetel;

form8.DBNavigator1.DataSource:=DataModule1.DataSourcetel;

form8.Caption:='Телефоны';

form8.show;

end;

procedure TForm1.Dsj1Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N14Click(Sender: TObject);

var

sq:String;

begin

sq:='';

sq:='SELECT Т_АТС.Наименование, Count(Т_Телефон.Код_АТС) AS [Число обонентов]';

sq:=sq+' FROM Т_АТС INNER JOIN Т_Телефон ON Т_АТС.Код_АТС = Т_Телефон.Код_АТС';

sq:=sq+' GROUP BY Т_АТС.Наименование';

sq:=sq+' WITH OWNERACCESS OPTION;';

DataModule1.ADOQueryzap.Active:=false;

DataModule1.ADOQueryzap.sql.Clear;

DataModule1.ADOQueryzap.sql.Add(sq);

DataModule1.ADOQueryzap.Active:=true;

form9.Caption:='Число абонентов по АТС';

form9.show;

end;

procedure TForm1.N15Click(Sender: TObject);

var

sq:String;

begin

sq:='';

sq:='SELECT Т_Абоненты.Фамилия, Т_Абонентская_плата.Задолжность_город, Т_Абонентская_плата.Задолжность_межгород, [Задолжность_город]+[Задолжность_межгород] AS Задолженость';

sq:=sq+' FROM Т_Абоненты INNER JOIN Т_Абонентская_плата ON Т_Абоненты.Код_абонента = Т_Абонентская_плата.Код_абонента';

sq:=sq+' WHERE ((([Задолжность_город]+[Задолжность_межгород])<>0))';

sq:=sq+' WITH OWNERACCESS OPTION;';

DataModule1.ADOQueryzap.Active:=false;

DataModule1.ADOQueryzap.sql.Clear;

DataModule1.ADOQueryzap.sql.Add(sq);

DataModule1.ADOQueryzap.Active:=true;

form9.Caption:='Число абонентов по АТС';

form9.show;

end;

procedure TForm1.N16Click(Sender: TObject);

var

sq:String;

begin

sq:='';

sq:='SELECT TOP 1 Т_АТС.Наименование, Sum([Задолжность_город]+[Задолжность_межгород]) AS Долг';

sq:=sq+' FROM Т_АТС INNER JOIN ((Т_Абоненты INNER JOIN Т_Абонентская_плата ON Т_Абоненты.Код_абонента = Т_Абонентская_плата.Код_абонента) INNER JOIN Т_Телефон ON Т_Абоненты.Код_абонента = Т_Телефон.Код_абонента) ON Т_АТС.Код_АТС = Т_Телефон.Код_АТС';

sq:=sq+' GROUP BY Т_АТС.Наименование, Т_АТС.Код_АТС';

sq:=sq+' ORDER BY Sum([Задолжность_город]+[Задолжность_межгород]) DESC';

sq:=sq+' WITH OWNERACCESS OPTION';

DataModule1.ADOQueryzap.Active:=false;

DataModule1.ADOQueryzap.sql.Clear;

DataModule1.ADOQueryzap.sql.Add(sq);

DataModule1.ADOQueryzap.Active:=true;

form9.Caption:='Число абонентов по АТС';

form9.show;

end;

procedure TForm1.N17Click(Sender: TObject);

var

sq:String;

begin

sq:='';

sq:='SELECT Т_Льготы.Наименование, Count(Т_Льготы.Наименование) AS [Количество]';

sq:=sq+' FROM Т_Льготы INNER JOIN Т_Абонентская_плата ON Т_Льготы.Код_льготы = Т_Абонентская_плата.Код_льготы';

sq:=sq+' GROUP BY Т_Льготы.Наименование';

sq:=sq+' WITH OWNERACCESS OPTION;';

DataModule1.ADOQueryzap.Active:=false;

DataModule1.ADOQueryzap.sql.Clear;

DataModule1.ADOQueryzap.sql.Add(sq);

DataModule1.ADOQueryzap.Active:=true;

form9.Caption:='Число абонентов по АТС';

form9.show;

end;

procedure TForm1.N19Click(Sender: TObject);

var

XLApp, Sheet,Colum:Variant;

index,i:integer;

maxline:string; //Экспортирование данных в Excel

colzap,coluch:integer;

zapisss,zapisss1,sq:string;

begin

sq:='';

XLApp:=CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XLApp.Workbooks.Add();

XLApp.Workbooks[1].WorkSheets[1].Name:='Аудит качества обучения студ.';

Colum:=XLApp.Workbooks[1].WorkSheets['Аудит качества обучения студ.'].Columns;

colum.Range['A1:D1'].MergeCells:=true;

colum.columns[1].ColumnWidth:=30;

colum.columns[2].ColumnWidth:=30;

colum.columns[3].ColumnWidth:=15;

colum.columns[4].ColumnWidth:=8.5;

colum.columns[5].ColumnWidth:=10;

colum.columns[6].ColumnWidth:=10; //ширина

colum.Range['A2:D2'].HorizontalAlignment:=-4108;

colum.Range['A2:D2'].VerticalAlignment:=-4108;

colum.columns[2].WrapText:=true; //перенос по словам

colum.columns[2].rows[2].Borders.LineStyle:=1;// граница

colum.rows[2].RowHeight:=50; //высота

colum.rows[2].font.bold:=true; //жирное

colum.rows[2].font.color:=clblue;

colum.rows[2].WrapText:=true; //цыет

Sheet:=XLApp.Workbooks[1].WorkSheets['Аудит качества обучения студ.'];

Sheet.cells[1,1]:='Дата: '+datetostr(Date);

Sheet.cells[2,1]:='Фамилия';

Sheet.cells[2,2]:='Задолженость город';

Sheet.cells[2,3]:='Задолжность межгород';

Sheet.cells[2,4]:='Итог';

//Sheet.cells[2,5]:='Средний балл мониторинга';

index:=3;

DataModule1.ADOQuery1.First;

while not DataModule1.ADOQuery1.Eof do

begin

Sheet.cells[index,1]:=DataModule1.ADOQuery1.Fields.FieldByName('Фамилия').AsString;

Sheet.cells[index,2]:= DataModule1.ADOQuery1.Fields.FieldByName('Задолжность_город').AsString;

Sheet.cells[index,3]:= DataModule1.ADOQuery1.Fields.FieldByName('Задолжность_межгород').AsString;

Sheet.cells[index,4]:= DataModule1.ADOQuery1.Fields.FieldByName('Задолженость').AsString ;

// Sheet.cells[index,5]:= DataModule1.ADOQueryzap.Fields.FieldByName('РазностьСреднихБаллов').AsFloat ;

index:=index+1;

DataModule1.ADOQuery1.next;

end;

DataModule1.ADOQuery1.First;

maxline:='A1:'+'D'+inttostr(index-1);

colum.Range[maxline].Borders.LineStyle:=1;

maxline:='A2:'+'D'+inttostr(index-1);

colum.Range[maxline].HorizontalAlignment:=-4108;

colum.Range[maxline].VerticalAlignment:=-4108;

{XLApp.selection.Sort(Key1 :=colum.Range['A3:A65000'],Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom);

colzap:=3;

maxline:='';

while colzap<>index-1 do

begin

zapisss:=Sheet.cells[colzap,1];

zapisss1:=Sheet.cells[colzap+1,1];

if zapisss=zapisss1 then

begin

Sheet.cells[colzap+1,1]:='';

maxline:='A'+inttostr(colzap)+':'+'A'+inttostr(colzap+1);

colum.Range[maxline].MergeCells:=true;

coluch:=colzap+1;

while index<>coluch do

begin

zapisss1:=Sheet.cells[coluch,1];

if (zapisss1=zapisss) then begin

Sheet.cells[coluch,1]:='';

maxline:='A'+inttostr(colzap)+':'+'A'+inttostr(coluch);

colum.Range[maxline].MergeCells:=true;

end;

coluch:=coluch+1;

end;

end;

colzap:=colzap+1;

end; }

end;

procedure TForm1.N21Click(Sender: TObject);

var

XLApp, Sheet,Colum:Variant;

index,i:integer;

maxline:string; //Экспортирование данных в Excel

colzap,coluch:integer;

zapisss,zapisss1,sq:string;

begin

sq:='';

XLApp:=CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XLApp.Workbooks.Add();

XLApp.Workbooks[1].WorkSheets[1].Name:='Аудит качества обучения студ.';

Colum:=XLApp.Workbooks[1].WorkSheets['Аудит качества обучения студ.'].Columns;

colum.Range['A1:D1'].MergeCells:=true;

colum.Range['A2:D2'].MergeCells:=true;

colum.columns[1].ColumnWidth:=30;

colum.columns[2].ColumnWidth:=30;

colum.columns[3].ColumnWidth:=30;

colum.columns[4].ColumnWidth:=30;

colum.columns[5].ColumnWidth:=30;

colum.columns[6].ColumnWidth:=20; //ширина

colum.Range['A2:D2'].HorizontalAlignment:=-4108;

colum.Range['A2:D2'].VerticalAlignment:=-4108;

colum.columns[2].WrapText:=true; //перенос по словам

colum.columns[2].rows[2].Borders.LineStyle:=1;// граница

colum.rows[2].RowHeight:=50; //высота

colum.rows[2].font.bold:=true; //жирное

colum.rows[2].font.color:=clblue;

colum.rows[2].WrapText:=true; //цыет

Sheet:=XLApp.Workbooks[1].WorkSheets['Аудит качества обучения студ.'];

Sheet.cells[1,1]:='Дата: '+datetostr(Date);

Sheet.cells[2,1]:='Уведомления об отключении телефона.';

//Sheet.cells[2,5]:='Средний балл мониторинга';

index:=3;

DataModule1.ADOQuery2.First;

while not DataModule1.ADOQuery2.Eof do

begin

maxline:='A'+inttostr(index)+':'+'D'+inttostr(index);

colum.Range[maxline].MergeCells:=true;

Sheet.cells[index,1]:='Линия отрыва -----------------------------------------------------------Линия отрыва ';

index:=index+1;

maxline:='A'+inttostr(index)+':'+'D'+inttostr(index);

colum.Range[maxline].MergeCells:=true;

Sheet.cells[index,1]:='Уважаемы, абонент. Уралсвязьинформа хочет проинформировать вас, что у вас будет отключен телефон в свзи с неуплатой.';

index:=index+1;

Sheet.cells[index,1]:='Фамилия';

Sheet.cells[index,2]:='Задолженость город';

Sheet.cells[index,3]:='Задолжность межгород';

Sheet.cells[index,4]:='Итог';

index:=index+1;

Sheet.cells[index,1]:=DataModule1.ADOQuery2.Fields.FieldByName('Фамилия').AsString;

Sheet.cells[index,2]:= DataModule1.ADOQuery2.Fields.FieldByName('Задолжность_город').AsString;

Sheet.cells[index,3]:= DataModule1.ADOQuery2.Fields.FieldByName('Задолжность_межгород').AsString;

Sheet.cells[index,4]:= DataModule1.ADOQuery2.Fields.FieldByName('Задолженость').AsString ;

// Sheet.cells[index,5]:= DataModule1.ADOQueryzap.Fields.FieldByName('РазностьСреднихБаллов').AsFloat ;

index:=index+1;

DataModule1.ADOQuery2.next;

end;

DataModule1.ADOQuery2.First;

maxline:='A1:'+'D'+inttostr(index-1);

colum.Range[maxline].Borders.LineStyle:=1;

maxline:='A2:'+'D'+inttostr(index-1);

colum.Range[maxline].HorizontalAlignment:=-4108;

colum.Range[maxline].VerticalAlignment:=-4108;

{XLApp.selection.Sort(Key1 :=colum.Range['A3:A65000'],Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom);

colzap:=3;

maxline:='';

while colzap<>index-1 do

begin

zapisss:=Sheet.cells[colzap,1];

zapisss1:=Sheet.cells[colzap+1,1];

if zapisss=zapisss1 then

begin

Sheet.cells[colzap+1,1]:='';

maxline:='A'+inttostr(colzap)+':'+'A'+inttostr(colzap+1);

colum.Range[maxline].MergeCells:=true;

coluch:=colzap+1;

while index<>coluch do

begin

zapisss1:=Sheet.cells[coluch,1];

if (zapisss1=zapisss) then begin

Sheet.cells[coluch,1]:='';

maxline:='A'+inttostr(colzap)+':'+'A'+inttostr(coluch);

colum.Range[maxline].MergeCells:=true;

end;

coluch:=coluch+1;

end;

end;

colzap:=colzap+1;

end; }

end;

end.

Добавить документ в свой блог или на сайт

Похожие:

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту по дисциплине: Организация движения
Ф илиал государственного образовательного учреждения высшего профессионального образования

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка. К курсовому проекту по дисциплине «Архитектура...
К курсовому проекту по дисциплине «Архитектура гражданских и промышленных зданий»

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту по дисциплине: «Дизайн архитектурной среды»
...

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту по дисциплине: «Системы...
Выполнить проект электроснабжения термического цеха завода, схематический генплан которого дан на рисунке 1

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту по дисциплине «Процессы...
Процессы и аппараты формования керамических изделий из полусухих порошковых масс

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту по дисциплине «Гидротехнические сооружения»
Гидротехнические сооружения – сооружения, предназначенные для использования водных ресурсов, а также предотвращения или уменьшения...

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту дисциплина: «Производство сварных конструкций»
Тема: «Проектирование технологического процесса заготовки, сборки и сварки металлоконструкции «Поворотная балка крана бк – 307»

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту «Условия перевозки скоропортящихся...
Виды и проявления возможной порчи грузов, при которых они не допускаются к перевозке

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconПояснительная записка к курсовому проекту должна быть написана от...
Исходными данными для выполнения проекта является техническое задание на проектируемое устройство

Пояснительная записка к курсовому проекту по дисциплине «Сетевые базы данных» iconЭкзаменационные вопросы по дисциплине «Базы данных»
Что такое базы данных и субд (данные и эвм, концепция баз данных, обзор современных субд)

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов