5

Объектно-ориентированное программирование на access. Создание базы данных

Курсовая

Информатика, кибернетика и программирование

Углубление теоретических и практических знаний в области методологии программирования и разработки программных комплексов, получение дополнительных навыков в работе с базами данных Access. создание структуры таблицы с помощью утилиты DataBase Desktop.

Русский

2012-11-14

1.04 MB

217 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

СУМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

ПРОЕКТИРОВАНИЯ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

Объектно-ориентированное программирование

Выполнил:                                                                            студент группы ИТ-01                                                                                                    Богачёв А.С.

 

Вариант:                                                                                                                  6

Проверила:                                                                                        Ващенко С.М.

2012

Оглавление

1 Введение 3

2 Постановка задачи 4

3 Описание программы 6

4 Руководство пользователя 9

5 Блок-схема программы 10

6 Текст программы {DataBaseByTolanuch} 19

7 Контрольный пример 34


  1.  Введение

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

Поэтому причины актуальности данной программы могут быть следующие:

- закрепление практических навыков программирования, полученных на занятиях по дисциплине «Объектно-ориентированное программирование»;

- углубление теоретических и практических знаний в области методологии программирования и разработки программных комплексов;

- получение дополнительных навыков в работе с базами данных Access.


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

Взяв за основу свой вариант структуры записи, реализовать работу с базой данных. Структуру таблицы создать с помощью утилиты DataBase Desktop.

В программе реализовать следующие возможности:

- просмотр всей таблицы;

- навигация по таблице;

- добавление новой записи;

- просмотр конкретной записи;

- редактирование конкретной записи по выбору пользователя с возможностью варьировать редактируемое поле;

- поиск конкретной записи по ключу (задание 1);

- обработку информации по заданию 2;

- удаление конкретной записи из таблицы.

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

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

Для оценки «3» структуру таблицы можно создать с помощью утилиты DataBase Desktop.

Для получения оценок «4» и «5» необходимо создать пользовательский объект по схеме записи и организовать работу с ним; результаты заданий вывести в виде отчетов в Word и Excel; нельзя использовать стандартные средства для навигации по таблицам. Структуру таблицы создать с помощью Access.

Задания выбрать по номеру варианта из таблицы, приведенной ниже. Схемы записей приведены в приложении Б. Количесчтво записей в базе данных – не менее 10.

Хозяйственная деятельность

Объем продаж

товар

Себестоимость реализованного товара

     фирма

Типа деятельности

наименование

чистая прибыль

издержки

наименование

Рисунок 1 – Схема записи «Хозяйственная деятельность»

Таблица 1 – Задание варианта №6

№ вар.

Схема записи

Задание 1 - Вывести информацию

Задание 2

6

Рисунок 1

По наименованию товара

Определить фирму, у которой издержки превышают чистую прибыль

  1.  
    Описание программы

В программе присутствуют 4 модуля: Work - основное окно программы, QuaryName - окно первого запроса, Cover-экран загрузки программы и MyClass – модуль, где описан мой класс TDataBase.

Модуль MyClass:

Таблица 2 – Символьные имена класса TDataBase.

Обозначение в программе

Объяснение

FF1

Наименование товара

FF2

Издержки

FF3

Чистая прибыль

FF4

Объем продаж

FF5

Себестоимость реализованного товара

FF6

Наименование фирмы

FF7

Тип деятельности фирмы

x

Глобальная переменная класса TDataBase

  1.  Constructor TDataBase.Create(a,f,g:String;b,c,e:Real;d:Integer) – конструктор для класса TDataBase;
  2.  procedure TDataBase.CreateRecord – метод, входящий в данный класс, для создания записи в таблице базы данных;
  3.  Procedure TDataBase.EditRecord - метод, входящий в данный класс, для редактирования записи в таблице базы данных.

Модуль QuaryName:

  1.  procedure TForm2.Button1Click – процедура для формирования запроса и отображения его результатов с возможностью вывода последних в документ MS Excel;

Таблица 2 – Символьные имена procedure TForm2.Button1Click

Обозначение в программе

Объяснение

w

Переменная для вывода результата в документ MS Word

i

Счетчик

Модуль Cover:

  1.  procedure TForm3.Timer1Time – процедура срабатывающая после окончания счетчика (применяется для визуальных эффектов программы, то есть загрузки);

Модуль Work:

  1.  procedure TForm1.ApplyClick – процедура подтверждения добавления записи в таблицу;
  2.  procedure TForm1.Apply_Click – процедура подтверждения редактирования записи в таблице;
  3.  procedure TForm1.Button1Click – процедура открытия формы для запроса «поиск по ключу»;
  4.  procedure TForm1.Button2Click – процедура вывода всей таблицы в окне программы;
  5.  procedure TForm1.Button3Click – процедура выполнения  2-го запроса по заданию;

Таблица 3 – Символьные имена procedure TForm1.Button3Click

Обозначение в программе

Объяснение

e

Переменная для вывода результата в документ MS Excel

i,j

Счетчики

  1.  procedure TForm1.Button4Click – отмена добавления/редактирования записи.
  2.  procedure TForm1.Edit2KeyPress – процедура, разрешающая пользователю вводить только числа;
  3.  procedure TForm1.Edit4KeyPress – процедура, разрешающая вводить пользователю только целые числа;
  4.  procedure TForm1.EditRecordClick – переводит программу в режим редактирования текущей записи;
  5.  procedure TForm1.DeleteClick – удаляет запись;
  6.  procedure TForm1.FirstClick – переводит курсор таблицы на первую запись;
  7.  procedure TForm1.FormClose – принудительно удаляет программу из списка процессов запущенных программ Windows;
  8.  procedure TForm1.LastClick – переводит курсор таблицы на последнюю запись;
  9.  procedure TForm1.NewRecordClick – переводит программу в режим добавления новой записи в таблице;
  10.  procedure TForm1.NextClick – передвигает курсор таблицы на следующую запись;
  11.  procedure TForm1.PreviousClick – передвигает курсор таблицы на предыдущую запись;
  12.  Руководство пользователя

В основном окне присутствует множество кнопок для использования данной программы. Для навигации используются соответствующие кнопки на панели «Navigation». Для добавления нужно нажать кнопку «New record», заполнить появившиеся поля и нажать «Apply». Для редактирования записи следует кликнуть по «Edit record», провести нужные изменения в записи и так же нажать «Apply».  Данные изменения сразу же сохраняются в таблице без возможности возврата в предыдущее состояние  таблицы (так что будьте внимательны при заполнении полей). Для выхода из режима добавления/редактирования записи следует кликнуть по кнопке «Cancel». Чтобы удалить текущую запись нужно кликнуть по «Delete current record».

Для запросов в окне программы присутствует отдельная панель. Для поиска по наименованию товара нажмите кнопку «Find name product» и в появившемся окне введите наименование товара, которое хотите найти. При желании поставьте галочку для сохранения результата в MS Word. Чтобы определить, какие продукты имеют издержки, превышающие чистую прибыль, следует кликнуть по «Show costs>clear profit». Для сохранения результата данного запроса в документ MS Excel поставьте галочку возле «Save in MS Excel». Для возврата к таблице кликните по «Show all table».

Примечание: навигация работает исключительно в таблице. При просмотре результатов запроса, навигация не работает.

  1.  Блок-схема программы

Модуль MyClass

Constructor TDataBase.Create(a,f,g:String;b,c,e:Real;d:Integer)

Вход

1

FF7:=g

FF4:=d

FF3:=c

FF2:=b

FF6:=f

inherited create

2

FF1:=a

3

4

5

6

7

8

Вход

9

FF5:=e

10

Возврат

                                 

procedure TDataBase.CreateRecord

2

2

Form1.Table.Append

Вход

1

 


11

10

9

8

7

6

5

4

3

Возврат

Form1.Table.Post

Form1.Table.FieldByName('Type_activity').AsString:=FF7

Form1.Table.FieldByName('Name_company').AsString:=FF6

Form1.Table.FieldByName('Cost_price').AsFloat:=FF5

Form1.Table.FieldByName('Sales_volume').AsInteger:=FF4

Form1.Table.FieldByName('Clear_profit').AsFloat:=FF3

Form1.Table.FieldByName('Costs').AsFloat:=FF2

Form1.Table.FieldByName('Name_product').AsString:=FF1

1

2

Form1.Table.Edit

Вход

1

Procedure TDataBase.EditRecord

2

7

6

Form1.Table.FieldByName('Cost_price').AsFloat:=FF5

Form1.Table.FieldByName('Sales_volume').AsInteger:=FF4

Form1.Table.FieldByName('Name_product').AsString:=FF1

Form1.Table.FieldByName('Costs').AsFloat:=FF2

Form1.Table.FieldByName('Clear_profit').AsFloat:=FF3

3

4

5

 

11

10

9

8

Возврат

Form1.Table.Post

Form1.Table.FieldByName('Type_activity').AsString:=FF7

Form1.Table.FieldByName('Name_company').AsString:=FF6

1

Модуль QuaryName

procedure TForm2.Button1Click

2

Form2.Visible:=False

Form1.Source.DataSet:=Form1.Query

False

27

exit

showmessage('Sorry,not found your query...')

True

Form1.Query.Fields[0].AsString=''

Form1.Query.Active:=True

Form1.Query.SQL.Add('SELECT * FROM Table1 WHERE Name_product="'+Edit1.Text+'"')

Form1.Query.SQL.Clear

Form1.Query.Active:=False

Вход

1

2

3

4

5

7

6

8

9

10


3

w.activedocument.saveas(extractfilepath(application.exename)+'Report.docx')

w.displayalerts:=false

w.activedocument.range.insertbefore('Name_product | Costs | Clear_profit | Sales_volume | Cost_price | Name_company | Type_activity')

21

16

Form1.Table. Next

w.activedocument.range.insertbefore(#13#10)

True

False

i=1

w.activedocument.range.insertbefore(Form1.Query.Fields[i-1].AsString+' | ')

i:=Form1.Query.FieldCount downto 1

not Form1.Query.Eof

27

False

Form1.Table.first

w.Documents.Add

True

w.visible:=true

w:=createoleobject('word.application')

1

checkbox1.Checked

11

12

13

14

15

16

17

21

18

20

19

22

23

24

 


8

11

27

26

25

Возврат

w:=unassigned

w.quit

2

 Модуль Work

procedure TForm1.Button3Click

2

checkbox1.Checked

True

False

31

e:=createoleobject('excel.application')

10

11

9

8

7

6

Form1.Source.DataSet:=Form1.Query

31

exit

showmessage('Sorry,not found your query...')

Form1.Query.Fields[0].AsString=''

False

True

5

4

3

2

Form1.Query.Active:=True

Form1.Query.SQL.Add('SELECT * FROM Table1 WHERE Name_product="'+Edit1.Text+'"')

Form1.Query.SQL.Clear

Form1.Query.Active:=False

Вход

1


12

1

3

e.displayalerts:=false

j:=j+1 cells[1,7]:='Type_activity'

22

Form1.Table. Next

not Form1.Query.Eof

i:=Form1.Query.FieldCount downto 1

w.activedocument.range.insertbefore(Form1.Query.Fields[i-1].AsString+' | ')

26

e.workbooks.item[1].sheets.item[1].cells[1,7]:='Type_activity'

e.workbooks.item[1].sheets.item[1].cells[1,7]:='Type_activity'

e.workbooks.item[1].sheets.item[1].cells[1,6]:='Name_company'

e.workbooks.item[1].sheets.item[1].cells[1,5]:='Cost_price'

e.workbooks.item[1].sheets.item[1].cells[1,4]:='Sales_volume'

e.workbooks.item[1].sheets.item[1].cells[1,3]:='Clear_profit'

e.workbooks.item[1].sheets.item[1].cells[1,2]:='Costs'

e.workbooks.item[1].sheets.item[1].cells[1,1]:='Name_product'

j:=2

Form1.Table.first

13

14

15

16

17

18

19

20

21

22

23

25

26

24

27

 


31

30

29

28

8

11

Возврат

e:=unassigned

e.quit

e.workbooks.item[1].saveas(extractfilepath(application.exename)+'Report.xlsx')

2

procedure TForm1.ApplyClick

3

10

9

8

7

6

5

4

2

Возврат

x.CreateRecord

x:=TDataBase.create(edit1.Text, edit6.Text, edit7.Text, StrToFloat(Edit2.Text), StrToFloat(Edit3.Text), StrToFloat(Edit5.Text), StrToInt(Edit4.Text))

x.Free

Apply.Visible:=False

GroupBox4.Visible:=False

GroupBox3.Visible:=True

GroupBox2.Visible:=True

GroupBox1.Visible:=True

Вход

1

 


3

10

9

8

7

6

5

4

2

Возврат

x.EditRecord

x:=TDataBase.create(edit1.Text, edit6.Text, edit7.Text, StrToFloat(Edit2.Text), StrToFloat(Edit3.Text), StrToFloat(Edit5.Text), StrToInt(Edit4.Text))

x.Free

Apply_.Visible:=False

GroupBox4.Visible:=False

GroupBox3.Visible:=True

GroupBox2.Visible:=True

GroupBox1.Visible:=True

Вход

1

procedure TForm1.Apply_Click


  1.  Текст программы {DataBaseByTolanuch}

Текст модуля {Cover}

unit Cover;

interface

uses

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

 Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls;

type

 TForm3 = class(TForm)

   Image1: TImage;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   ProgressBar1: TProgressBar;

   Timer1: TTimer;

   procedure Timer1Timer(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

uses Work;

{$R *.dfm}

procedure TForm3.Timer1Timer(Sender: TObject);

begin

ProgressBar1.min:=ProgressBar1.min+25;

if ProgressBar1.min=ProgressBar1.Max then

begin

 Form1.Visible:=true;

 Form3.Visible:=false;

 timer1.Enabled:=false;

end;

end;

end.

Текст модуля {QuaryName}

unit QuaryName;

interface

uses

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

 Dialogs, StdCtrls, ComObj;

type

 TForm2 = class(TForm)

   Button1: TButton;

   Edit1: TEdit;

   CheckBox1: TCheckBox;

   procedure FormShow(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

implementation

uses Work, MyClass;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

Var w:Variant;

i:integer;

begin

Form1.Query.Active:=False;

Form1.Query.SQL.Clear;

Form1.Query.SQL.Add('SELECT * FROM Table1 WHERE Name_product="'+Edit1.Text+'"');

Form1.Query.Active:=True;

if Form1.Query.Fields[0].AsString='' then

 begin

  showmessage('Sorry,not found your query...');

  exit

 end;

Form1.Source.DataSet:=Form1.Query;

Form2.Visible:=False;

if checkbox1.Checked then

begin

w:=createoleobject('word.application');

w.visible:=true;

w.Documents.Add;

Form1.Table.first;

while not Form1.Query.Eof do

  begin

    for i:=Form1.Query.FieldCount downto 1 do

    begin

     w.activedocument.range.insertbefore(Form1.Query.Fields[i-1].AsString+' | ');

     if i=1 then w.activedocument.range.insertbefore(#13#10);

    end;

    Form1.Query.Next

  end;

  w.activedocument.range.insertbefore('Name_product | Costs | Clear_profit | Sales_volume | Cost_price | Name_company | Type_activity');

  w.displayalerts:=false;

  w.activedocument.saveas(extractfilepath(application.exename)+'Report.docx');

  w.quit;

  w:=unassigned;

  end;

end;

procedure TForm2.FormShow(Sender: TObject);

begin

Edit1.SetFocus;

end;

end.

Текст модуля {MyClass}

unit MyClass;

interface

type TDataBase=class(TObject)

  FF1,FF6,FF7:String;

  FF2,FF3,FF5:Real;

  FF4:Integer;

  Constructor Create(a,f,g:String;b,c,e:Real;d:Integer);

  procedure CreateRecord;

  Procedure EditRecord;

end;

var x:TDataBase;

implementation

uses Work,QuaryName,SysUtils, Dialogs;

  Constructor TDataBase.Create(a,f,g:String;b,c,e:Real;d:Integer) ;

   begin

    inherited create;

    FF1:=a;

    FF6:=f;

    FF7:=g;

    FF2:=b;

    FF3:=c;

    FF4:=d;

    FF5:=e;

   end;

  procedure TDataBase.CreateRecord;

   begin

   Form1.Table.Append;

   Form1.Table.FieldByName('Name_product').AsString:=FF1;

   Form1.Table.FieldByName('Costs').AsFloat:=FF2;

   Form1.Table.FieldByName('Clear_profit').AsFloat:=FF3;

   Form1.Table.FieldByName('Sales_volume').AsInteger:=FF4;

   Form1.Table.FieldByName('Cost_price').AsFloat:=FF5;

   Form1.Table.FieldByName('Name_company').AsString:=FF6;

   Form1.Table.FieldByName('Type_activity').AsString:=FF7;

   Form1.Table.Post;

   end;

  Procedure TDataBase.EditRecord;

  begin

   Form1.Table.Edit;

   Form1.Table.FieldByName('Name_product').AsString:=FF1;

   Form1.Table.FieldByName('Costs').AsFloat:=FF2;

   Form1.Table.FieldByName('Clear_profit').AsFloat:=FF3;

   Form1.Table.FieldByName('Sales_volume').AsInteger:=FF4;

   Form1.Table.FieldByName('Cost_price').AsFloat:=FF5;

   Form1.Table.FieldByName('Name_company').AsString:=FF6;

   Form1.Table.FieldByName('Type_activity').AsString:=FF7;

   Form1.Table.Post

  end;

end.

Текст модуля {Work}

unit Work;

interface

uses

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

 Dialogs, Menus, ExtCtrls, DB, ADODB, XPMan, Grids, DBGrids, StdCtrls,

 Mask, DBCtrls, jpeg, ComObj;

type

 TForm1 = class(TForm)

   XPManifest1: TXPManifest;

   Source: TDataSource;

   Connection: TADOConnection;

   Table: TADOTable;

   Query: TADOQuery;

   DBGrid1: TDBGrid;

   GroupBox1: TGroupBox;

   Button1: TButton;

   Button2: TButton;

   GroupBox2: TGroupBox;

   First: TButton;

   Previous: TButton;

   Next: TButton;

   Last: TButton;

   GroupBox3: TGroupBox;

   NewRecord: TButton;

   Delete: TButton;

   GroupBox4: TGroupBox;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Button3: TButton;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Edit4: TEdit;

   Edit5: TEdit;

   Edit6: TEdit;

   Edit7: TEdit;

   Apply: TButton;

   EditRecord: TButton;

   Apply_: TButton;

   CheckBox1: TCheckBox;

   Button4: TButton;

   procedure FirstClick(Sender: TObject);

   procedure PreviousClick(Sender: TObject);

   procedure NextClick(Sender: TObject);

   procedure LastClick(Sender: TObject);

   procedure DeleteClick(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure EditRecordClick(Sender: TObject);

   procedure NewRecordClick(Sender: TObject);

   procedure ApplyClick(Sender: TObject);

   procedure Apply_Click(Sender: TObject);

   procedure Edit2KeyPress(Sender: TObject; var Key: Char);

   procedure Edit4KeyPress(Sender: TObject; var Key: Char);

   procedure FormClose(Sender: TObject; var Action: TCloseAction);

   procedure Button4Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

uses QuaryName,MyClass;

{$R *.dfm}

procedure TForm1.ApplyClick(Sender: TObject);

begin

GroupBox1.Visible:=True;

GroupBox2.Visible:=True;

GroupBox3.Visible:=True;

GroupBox4.Visible:=False;

Apply.Visible:=False;

x.Free;

x:=TDataBase.create(edit1.Text, edit6.Text, edit7.Text, StrToFloat(Edit2.Text), StrToFloat(Edit3.Text), StrToFloat(Edit5.Text), StrToInt(Edit4.Text));

x.CreateRecord;

end;

procedure TForm1.Apply_Click(Sender: TObject);

begin

GroupBox1.Visible:=True;

GroupBox2.Visible:=True;

GroupBox3.Visible:=True;

GroupBox4.Visible:=False;

Apply_.Visible:=False;

x.Free;

x:=TDataBase.create(edit1.Text, edit6.Text, edit7.Text, StrToFloat(Edit2.Text), StrToFloat(Edit3.Text), StrToFloat(Edit5.Text), StrToInt(Edit4.Text));

x.EditRecord;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.Visible:=True

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Table.Open;

Source.DataSet:=Table;

Query.SQL.Clear;

Query.Close

end;

procedure TForm1.Button3Click(Sender: TObject);

var e:Variant;

i,j:integer;

begin

Query.Active:=False;

Query.SQL.Clear;

Query.SQL.Add('SELECT * FROM Table1 WHERE Costs>Clear_profit');

Query.Active:=True;

if Form1.Query.Fields[0].AsString='' then

 begin

  showmessage('Sorry,not found your query...');

  exit

 end;

Source.DataSet:=Form1.Query;

if CheckBox1.Checked then

 begin

  e:=createoleobject('excel.application');

  e.workbooks.add;

  Form1.Table.first;

  j:=2;

  e.workbooks.item[1].sheets.item[1].cells[1,1]:='Name_product';

  e.workbooks.item[1].sheets.item[1].cells[1,2]:='Costs';

  e.workbooks.item[1].sheets.item[1].cells[1,3]:='Clear_profit';

  e.workbooks.item[1].sheets.item[1].cells[1,4]:='Sales_volume';

  e.workbooks.item[1].sheets.item[1].cells[1,5]:='Cost_price';

  e.workbooks.item[1].sheets.item[1].cells[1,6]:='Name_company';

  e.workbooks.item[1].sheets.item[1].cells[1,7]:='Type_activity';

  while not Form1.Query.Eof do

  begin

    for i := 1 to Form1.Query.FieldCount do

     e.workbooks.item[1].sheets.item[1].cells[j,i]:=Form1.Query.Fields[i-1].AsString;

    j:=j+1;

    Form1.Query.Next;

  end;

 e.displayalerts:=false;

 e.workbooks.item[1].saveas(extractfilepath(application.exename)+'Report.xlsx');

 e.quit;

 e:=unassigned;

 end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

  GroupBox1.Visible:=True;

  GroupBox2.Visible:=True;

  GroupBox3.Visible:=True;

  GroupBox4.Visible:=False;

  Apply_.Visible:=False;

  Apply.Visible:=False;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9',',',#8,#46]) then  Key:=#0;

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

if not (Key in ['0'..'9',#8,#46]) then  Key:=#0;

end;

procedure TForm1.EditRecordClick(Sender: TObject);

begin

  Edit1.Text:= Table.FieldByName('Name_product').AsString;

  Edit2.Text:=Table.FieldByName('Costs').AsString;

  Edit3.Text:=Table.FieldByName('Clear_profit').AsString;

  Edit4.Text:=Table.FieldByName('Sales_volume').AsString;

  Edit5.Text:=Table.FieldByName('Cost_price').AsString;

  Edit6.Text:=Table.FieldByName('Name_company').AsString;

  Edit7.Text:=Table.FieldByName('Type_activity').AsString;

  GroupBox1.Visible:=False;

  GroupBox2.Visible:=False;

  GroupBox3.Visible:=False;

  GroupBox4.Visible:=True;

  Apply_.Visible:=True;

end;

procedure TForm1.DeleteClick(Sender: TObject);

begin

Table.Delete

end;

procedure TForm1.FirstClick(Sender: TObject);

begin

Table.First

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Application.Terminate;

end;

procedure TForm1.LastClick(Sender: TObject);

begin

Table.Last

end;

procedure TForm1.NewRecordClick(Sender: TObject);

begin

 GroupBox1.Visible:=False;

 GroupBox2.Visible:=False;

 GroupBox3.Visible:=False;

 GroupBox4.Visible:=True;

 Apply.Visible:=True;

end;

procedure TForm1.NextClick(Sender: TObject);

begin

Table.Next

end;

procedure TForm1.PreviousClick(Sender: TObject);

begin

Table.Prior

end;

end.


  1.  Контрольный пример

Рис. 2 – Экран загрузки

Рис. 3 – Основное окно программы

Рис. 4 – Добавление новой записи


Рис. 5 – Редактирование записи

Рис. 6 – Запрос, где издержки превышают чистую прибыль

Рис. 7 – Результат предыдущего запроса, сохраненного в документ

Рис. 8 – Окно ввода запроса по наименованию товара

Рис. 9 – Результат предыдущего запроса

Рис. 10 – Результат последнего запроса, сохраненного в документ


 

А также другие работы, которые могут Вас заинтересовать

70995. Моделювання систем масового обслуговування 726.8 KB
  Імітаційні моделі можуть бути як завгодно близькими до системи, яку моделюють, і простими у використанні. Це дає змогу застосовувати імітаційне моделювання як універсальний підхід для прийняття рішень в умовах невизначеності, враховуючи в моделях навіть ті чинники... По всем вопросам пишите на почту.
70996. Розробка навчальної програми для вивчення Delphi 887 KB
  Мета роботи: створити програму для вивчення Delphi з ілюстраціями та прикладами того, що можна робити з її компонентами. Завдання роботи: викласти навчальний матеріал про середовище програмування Delphi, його основні вікна та компоненти з можливістю наглядної демонстрації...
70997. Злочини проти властності 69.78 KB
  Об’єктом дослідження є законодавство України що регулює суспільні відносини власності передусім відносини з приводу володіння користування і розпорядження майном а його предмет ndsh; проблемні питання злочинів проти власності.
70998. Призначення та класифікація системи охолодження 815.87 KB
  Система охолодження поділяєтьсь на повітряну та рідину. Основним недоліками системи рідинного охолодження є: більша складність конструкції і ТО взимку і менша надійність в роботі біля 20 усіх відказів двигуна припадає на рідинну систему охолодження.
70999. Електронні таблиці Microsoft Excel 372.41 KB
  Перевагою MS Excel є те, що програма допомагає оперувати більшими обсягами інформації. Робочі книги MS Excel надають можливість зберігання й організації даних, обчислення суми значень у комірках. MS Excel надає широкий спектр методів, що дозволяють зробити інформацію простою для сприйняття.
71001. Анализ финансовых результатов деятельности предприятия 2.72 MB
  Рассмотреть понятие финансовых результатов, их сущность и методику. Сформулировать пути улучшения финансовой деятельности предприятия. Изучить методику анализа финансовых результатов. Выполнить практическое задание по анализу финансового состояния предприятия по данным бухгалтерского баланса и отчета о прибылях и убытках.
71003. Бухгалтерский учет и анализ. Учет и анализ готовой продукции 95.88 KB
  Актуальность и значимость рассмотрения проблемы учета выпуска, отгрузки и реализации готовой продукции заключается в том, что результатом деятельности любого производственного предприятия или организации является выпуск готовой продукции, выполнение работ или предоставление услуг.