на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Информационная система компьютерного клуба
, наконец, нам следует сохранить документ и освободить ресурсы:

// Сохраняем документ

Doc.SaveAs('D:\SOT\Custrep.doc');

// Закрываем Word и освобождаем ресурсы

Wd.Quit;

Wd:=Unassigned;

4.5.2 Создание генерации отчетов с помощью Microsoft Excel

Как и в предыдущем случае, нам следует также объявить глобальные переменные для объектов Application, WorkBook и WorkSheet:

var

Forml: TForm1;

. . .

// Переменные для объектов Excel Application, WorkBook и WorkSheet

Xl, Wb, Ws: Variant;

Реализуем генерацию табличного отчета в обработчике события OnClick компонента Button2:

procedure TForm1.Report_ExcelClick(Sender: TObject);

var I, Rcnt:integer;

begin

// Открываем базу данных и подсчитываем количество записей

ADODataSet1.Open;

Rcnt := ADODataSet1.RecordCount;

// Запускаем Microsoft Excel

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

// Отображаем окно Microsoft Excel

Xl.Visible := True;

// Создаем рабочую книгу

Xl.WorkBooks.Add;

Wb := XL.WorkBooks[1];

Ws := Wb.WorkSheets[1];

Ws.Name := 'Центр данных';

// Создаем заголовок отчета

Ws.Cells[1,1] := 'Центр данных';

Ws.Cells[1,1].Font.Bold := True;

Ws.Cells[1,1].Font.Size := 16;

Ws.Cells[2,1] := 'Комп';

Ws.Cells[2,2] := 'Игрок';

Ws.Cells[2,3] := 'Дата';

Ws.Cells[2,4] := 'Продолжительность';

Ws.Cells[2,5] := 'Код услуги';

Ws.Cells[2,6] := 'Админ';

for I:=1 to 6 do

Ws.Cells[2,i].Font.Bold := True;

// Перемещаемся на первую запись набора данных

ADODataSet1.First;

for I:=1 to Rcnt do

begin

// Добавляем значения полей текущей записи в новую строку

Ws.Cells[i+2,1] := ADODataSet1.Fields[0].AsString;

Ws.Cells[i+2,2] := ADODataSet1.Fields[1].AsString;

Ws.Cells[i+2,3] := ADODataSet1.Fields[2].AsString;

Ws.Cells[i+2,4] := ADODataSet1.Fields[3].AsString;

Ws.Cells[i+2,5] := ADODataSet1.Fields[4].AsString;

Ws.Cells[i+2,6] := ADODataSet1.Fields[5].AsString;

ADODataSet1.Next;

end;

// Изменяем ширину колонок

Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5;

Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5;

Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5;

Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5;

Xl.Columns[5].ColumnWidth:=Xl.Columns[5].ColumnWidth+5;

Xl.Columns[6].ColumnWidth:=Xl.Columns[6].ColumnWidth+5;

// Подавляем вывод диагностических сообщений

Xl.DisplayAlerts:=false;

// Сохраняем документ

Wb.SaveAs('D:\SOT\Custrer.xls');

// Закрываем Excel и освобождаем ресурсы

//Xl.Quit;

Xl:=Unassigned;

end;

Откомпилируем приложение и проверьте работу кнопки «Отчет с использованием MS Excel». При выполнении этого приложения создается документ с отчетом по базе данный club.mdb (рис.4.5).

Пояснения к приведенному выше фрагменту кода

Во-первых, мы должны создать копию Microsoft Excel, сделав ее видимой и создать новую рабочую книгу:

// Запускаем Microsoft Excel

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

// Отображаем окно Microsoft Excel

Xl.Visible := True;

// Создаем рабочую книгу

Xl.WorkBooks.Add;

Wb := XL.WorkBooks[1];

Ws := Wb.WorkSheets[1];

Ws.Name := ' Список клиентов ';

Затем нужно создать заголовок отчета и заголовки колонок будущей таблицы, добавляя текст в соответствующие ячейки т меняя характеристики шрифта ячеек:

// Создаем заголовок отчета

Ws.Cells[1,1] := 'Центр данных';

Ws.Cells[1,1].Font.Bold := True;

Ws.Cells[1,1].Font.Size := 16;

Ws.Cells[2,1] := 'Комп';

Ws.Cells[2,2] := 'Игрок';

Ws.Cells[2,3] := 'Дата';

Ws.Cells[2,4] := 'Продолжительность';

Ws.Cells[2,5] := 'Код услуги';

Ws.Cells[2,6] := 'Админ';

for I:=1 to 6 do

Ws.Cells[2,i].Font.Bold := True;Затем следует, перемещаясь по записям набора данных, добавит в документ строки, соответствующие этим записям:

// Перемещаемся на первую запись набора данных

ADODataSet1.First;

for I:=1 to Rcnt do

begin

// Добавляем значения полей текущей записи в новую строку

Ws.Cells[i+2,1] := ADODataSet1.Fields[0].AsString;

Ws.Cells[i+2,2] := ADODataSet1.Fields[1].AsString;

Ws.Cells[i+2,3] := ADODataSet1.Fields[2].AsString;

Ws.Cells[i+2,4] := ADODataSet1.Fields[3].AsString;

Ws.Cells[i+2,5] := ADODataSet1.Fields[4].AsString;

Ws.Cells[i+2,6] := ADODataSet1.Fields[5].AsString;

ADODataSet1.Next;

end;

Как и в предыдущем случае, нам следует изменить размер колонок на листе рабочей книги, чтобы корректно отобразить содержащиеся в них данные:

// Изменяем ширину колонок

Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5;

Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5;

Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5;

Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5;

Xl.Columns[5].ColumnWidth:=Xl.Columns[5].ColumnWidth+5;

Xl.Columns[6].ColumnWidth:=Xl.Columns[6].ColumnWidth+5;

Теперь нам нужно сохранить документ, подавив при этом вывод диагностических сообщений Excel. Как и в Word, приложение Excel может быть запущено удаленно, и в этом случае пользователь также может не иметь возможности взаимодействовать с диалоговыми окнами Excel:

// Подавляем вывод диагностических сообщений

Xl.DisplayAlerts:=false;

// Сохраняем документ

Wb.SaveAs('D:\SOT\Custrep.xls');

Наконец, нам следует закрыть Excel и освободить ресурсы:

// Закрываем Excel и освобождаем ресурсы

Xl.Quit;

Xl:=Unassigned;

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

procedure TForm1.Button6Click(Sender: TObject);

begin

with form1.ADOQuery2 do begin

//Close; // закрыть файл-результат выполнения предыдущего запроса

SQL.Clear; // удалить текст предыдущего запроса

// записываем новый запрос в свойство SQL

SQL.Add('INSERT INTO Админ (Админ, ФИО, Адрес, Ставка) VALUES ("Annie", "Бойко А.К.", "Засекречено:)", 1000);');

ExecSQL;

end;

Так же программа имеет возможность выполнять набранные запросы (Рис

Код программы приведен в Додатке В.

ЗАКЛЮЧЕНИЕ

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

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

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

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

Таким образом, путем автоматизации приложений Microsoft Office мы можем создавать сложные отчеты, содержащие таблицы, диаграммы, вычисляемые значения, равно как и использовать для этой цели другие возможности Microsoft Office (например, сервисы построения сводных таблиц).

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

СПИСОК ЛИТЕРАТУРЫ

Буслик М.М. Модели и структуры данных.

Мартин Дж. Организация баз данных в вычислительных системах.-М.: Мир, 1980.-608с.

Глушаков С.В., Мельников И.В. Базы данных,включая SQL2 и SQL SERVER:Учебник для вузов.-Харьков.: Фолио,2000-250 с.

Вейскас Дж. Эффективная работа с Access.-СПб:Питер.1997-848с.

Боуман Дж.,Эмерсон С. Дарновски М. Практичесское руководство по SQL.-К:Диалектика,1998-565с.

Дейт К. Введение в системы баз данных.- 6-е изд.-К:Диалектика, 1998.-784с.

Холигвэрт, Джарод, Баттерфилд, Дэн, Сворт, Боб, и др. С++Builder 5. Руководство разработчика, том 2. Сложные вопросы программирования : Пер. с англ. - М.: Издательский дом “Вильямс”, 2001. - 832 с.: ил. - Парал. тит. англ.

Архангельский А.Я. Приемы программирования в Delphi. Изд. 2-е, пере раб. и доп. - М.: ООО «Бином-Пресс», 2004 г. - 848 с.: ил.

Приложение В

Код программы

unit Unit1;

interface

uses

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

Dialogs, ComObj, ActiveX, DB, ADODB, StdCtrls, Grids, DBGrids, ComCtrls,

OleServer, ExcelXP;

type

TForm1 = class(TForm)

Report_Word: TButton;

Report_Excel: TButton;

CreatePivotTable: TButton;

ADOConnection1: TADOConnection;

ADODataSet1: TADODataSet;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

RadioButton1: TRadioButton;

ComboBox1: TComboBox;

RadioButton2: TRadioButton;

ComboBox2: TComboBox;

DBGrid2: TDBGrid;

ADOQuery1: TADOQuery;

DataSource2: TDataSource;

Select: TMemo;

Button1: TButton;

DBGrid3: TDBGrid;

DataSource3: TDataSource;

TabSheet4: TTabSheet;

ADOQuery2: TADOQuery;

DataSource4: TDataSource;

DBGrid4: TDBGrid;

Button4: TButton;

ADODataSet3: TADODataSet;

Button5: TButton;

TabSheet5: TTabSheet;

DBGrid5: TDBGrid;

DataSource5: TDataSource;

Button6: TButton;

procedure Report_WordClick(Sender: TObject);

procedure Report_ExcelClick(Sender: TObject);

procedure CreatePivotTableClick(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure ComboBox1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure ComboBox2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Wd, Doc, Rng, Tbl, Xl, Wb, Ws, Ch, Z : Variant;

implementation

{$R *.dfm}

procedure TForm1.Report_WordClick(Sender: TObject);

var I, Rcnt:integer;

begin

// Открываем базу данных и подсчитываем количество записей

ADODataSet1.Open;

Rcnt:=ADODataSet1.RecordCount;

// Запускаем MS Word

wd:= CreateOleObject('Word.Application');

// Отображаем на экране окно MS Word

wd.Visible :=True;

// Создаем новый документ

wd.Documents.Add;

Doc:= wd.Documents.Item(1);

// Добавляем новый абзац

Doc.Paragraphs.Add;

// Меняем его стиль

Doc.Paragraphs.Item(1).Style:='Заголовок 1';

// Создаем заголовок отчета

Rng := Doc.Range(0);

Rng.InsertBefore('Центр данных');

// Создаем заголовки колонок

Doc.Paragraphs.Add;

Rng.InsertAfter('Комп: Игрок: Дата: Продолжительность: Код услуги: Админ');

// Перемещаемся на первую запись набора данных

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.