5

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

Курсовая

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

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

Русский

2012-11-14

1.04 MB

214 чел.

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

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

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

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

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

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

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

Выполнил:                                                                            студент группы ИТ-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 – Результат последнего запроса, сохраненного в документ


 

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

13899. Будь поучтивее с людьми, которых встречаешь, взбираясь наверх, - ты ещё встретишься с ними, когда будешь спускаться 15.52 KB
  Будь поучтивее с людьми которых встречаешь взбираясь наверх ты ещё встретишься с ними когда будешь спускаться У. Мизнер. Человеческая жизнь непредсказуема в ней бывают не только взлёты но и падения. На протяжении всей жизни человек приспосабливается к о
13900. Богатым человека делает его сердце 14.62 KB
  Богатым человека делает его сердце Л. Толстой. Нельзя судить о богатстве человека по толщине его кошелька. Только наличие высоких моральных качеств позволяет считать человека истинно богатым. Нравственность это степень усвоения личностью моральных ценностей
13901. Банки охотно дают деньги тем, кто может доказать, что в них не нуждается 25.5 KB
  Банки охотно дают деньги тем кто может доказать что в них не нуждается. Банк предоставляет свои услуги тем у кого есть средства и источники доходов. Банковская система – совокупность национальных банков и других кредитных учреждений действующих в рамках единого ф
13902. Аномия: определение, причины, характеристики 118.5 KB
  КУРСОВАЯ РАБОТА Аномия: определение причины характеристики Оглавление: Введение Понятие аномии ее характеристики и сущность теории аномии Основные теории аномии: Теория аномии Э. Дюркгейма Теория аномии Р. Мертона Аномия в современно...
13903. Республика Шкид. Глупость под лупой 30.5 KB
  Эссе Республика Шкид. Глупость под лупой Один день содержит 24 часа или 1440 минут. Сколько необходимо человеку для того чтобы совершить глупость И главное почему человек ее делает как так получается А что происходит после ее совершения Под ненаучным термином г
13904. Психологический роман русского классика Ф.М. Достоевского Преступление и наказание 40 KB
  За основу своего эссе я взял психологический роман русского классика Ф.М. Достоевского Преступление и наказание а именно анализ поведения и характера главного героя Родиона Раскольникова. В романе описывается история бывшего студента СанктПетербурга ко
13905. ОЛЕКСАНДР ДОВЖЕНКО: ТРАГІЧНЕ ЖИТТЯ Й ТИТАНІЧНА ПРАЦЯ 99.5 KB
  ОЛЕКСАНДР ДОВЖЕНКО: ТРАГІЧНЕ ЖИТТЯ Й ТИТАНІЧНА ПРАЦЯ УРОК УКРАЇНСЬКОЇ ЛІТЕРАТУРИ 11 КЛАС Мета: ознайомити учнів з біографією письменника і його внеском у розвиток української кінематографії; дати уявлення про кіноповість як різновид твору призначеного для постанов
13906. УРОКИ СЕКТОВЕДЕНИЯ т. II. ПУТЬ К ПУСТОТЕ 1.58 MB
  УРОКИ СЕКТОВЕДЕНИЯ т. II. ПУТЬ К ПУСТОТЕ ПРЕДИСЛОВИЕ Гл. 1. Учили ли отцы Церкви пантеизму Гл. 2 ХРИСТИАНСКАЯ МЫСЛЬ ПЕРЕД ТАЙНОЙ ЛИЧНОСТИ Гл. 3 ЧЕЛОВЕЧЕСКОЕ СЛОВО ПЕРЕД ЛИЦОМ БОГА Гл. 4. БОГОСЛОВИЕ МЕСТОИМЕНИЯ Гл. 5. СПОСОБНО ЛИ ХРИСТИАНСТВО ВЫДЕРЖАТЬ КРИТИКУ ПАН
13907. УРОКИ СЕКТОВЕДЕНИЯ Ч.1. КАК УЗНАТЬ СЕКТУ 3.09 MB
  УРОКИ СЕКТОВЕДЕНИЯ Ч.1. КАК УЗНАТЬ СЕКТУ На примере рериховского движения Ни разу в жизни я не отказывал себе в удовольствии поспорить с теософом. Гилберт Честертон. ОТ АВТОРА Гл. 1. О ЧЕМ СПОР Знаток Востока не знающий языков. Рерих просит себе Но