Материал: Создание приложений баз данных в среде Delphi

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис.А.19 - Результат сортировки

Приложение Б. Текст программы


unit Unit1;

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

Dialogs, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, DBCtrls,, Buttons, Mask, RpRave, RpDefine, RpCon, RpConDS;

TForm1 = class(TForm)

Table1: TTable;

Table2: TTable;

Table3: TTable;

Table4: TTable;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Table1Kod_tovara: TSmallintField;

Table1Tovar_name: TStringField;

Table1Tovar_cost: TIntegerField;

Table1Poshlina: TSmallintField;

Table2Declaration_number: TSmallintField;

Table2Kod_tovara: TSmallintField;

Table2Kolvo: TFloatField;

Table2Declaration_Data: TDateField;

Table2FIO_grazhdanina: TStringField;

Table2Kod_sotrudnika: TSmallintField;

Table4Kod_dolzhnosti: TSmallintField;

Table4Naimen_dolzhnosti: TStringField;

Table3Kod_sotrudnika: TSmallintField;

Table3Kod_dolzhnosti: TSmallintField;

Table3FiO_sotrudnika: TStringField;

Table3Adress_sotrudnika: TStringField;

Table3Telefon: TStringField;

Table3Birthyear: TIntegerField;

Table3Obrazovanie: TStringField;

PopupMenu1: TPopupMenu;

N11: TMenuItem;

N21: TMenuItem;

N31: TMenuItem;

N41: TMenuItem;

DBNavigator1: TDBNavigator;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

MainMenu1: TMainMenu;

Table1Poshlina2: TSmallintField;

Label1: TLabel;

Edit1: TEdit;

BitBtn4: TBitBtn;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

BitBtn5: TBitBtn;

N6: TMenuItem;

N12: TMenuItem;

N22: TMenuItem;

N32: TMenuItem;

N42: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N20101: TMenuItem;

N20111: TMenuItem;

N16: TMenuItem;

Query1: TQuery;

DBGrid1: TDBGrid;

DataSource5: TDataSource;

BitBtn6: TBitBtn;

N17: TMenuItem;

N18: TMenuItem;

N23: TMenuItem;

N33: TMenuItem;

N43: TMenuItem;

N19: TMenuItem;

N20: TMenuItem;

N24: TMenuItem;

N25: TMenuItem;

N26: TMenuItem;

N27: TMenuItem;

N28: TMenuItem;

N29: TMenuItem;

N30: TMenuItem;

N34: TMenuItem;

C1: TMenuItem;

N35: TMenuItem;

N36: TMenuItem;

N37: TMenuItem;

N38: TMenuItem;

N39: TMenuItem;

N40: TMenuItem;

N44: TMenuItem;

N45: TMenuItem;

N46: TMenuItem;

N47: TMenuItem;

RVConnect1: TRvDataSetConnection;

RvProject1: TRvProject;

N48: TMenuItem;(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);N11Click(Sender: TObject);N21Click(Sender: TObject);N31Click(Sender: TObject);N41Click(Sender: TObject);BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);BitBtn3Click(Sender: TObject);Table1CalcFields(DataSet: TDataSet);BitBtn4Click(Sender: TObject);N5Click(Sender: TObject);N10Click(Sender: TObject);N14Click(Sender: TObject);N15Click(Sender: TObject);N13Click(Sender: TObject);BitBtn6Click(Sender: TObject);N19Click(Sender: TObject);N20Click(Sender: TObject);N24Click(Sender: TObject);N25Click(Sender: TObject);N26Click(Sender: TObject);N27Click(Sender: TObject);N28Click(Sender: TObject);N29Click(Sender: TObject);N30Click(Sender: TObject);N34Click(Sender: TObject);N35Click(Sender: TObject);N36Click(Sender: TObject);N37Click(Sender: TObject);N38Click(Sender: TObject);N39Click(Sender: TObject);N20101Click(Sender: TObject);N20111Click(Sender: TObject);N16Click(Sender: TObject);N40Click(Sender: TObject);N45Click(Sender: TObject);N47Click(Sender: TObject);N46Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form1: TForm1;Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;

{$R *.dfm}TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);P:TPoint;:=GetClientOrigin;Button=mbRight then PopupMenu1.Popup(P.X+x,P.y+y);;TForm1.N11Click(Sender: TObject);.IndexFieldNames:='';.IndexFieldNames:='';.Label1.Tag:=0;.DataSource:=DataSource1;.Active:=true;.DataSource:=DataSource1;;TForm1.N21Click(Sender: TObject);.IndexFieldNames:='';.IndexFieldNames:='';.Label1.Tag:=0;.Filtered:=false;.DataSource:=DataSource2;.Active:=true;.DataSource:=DataSource2;;TForm1.N31Click(Sender: TObject);.IndexFieldNames:='';.IndexFieldNames:='';.Label1.Tag:=0;.Filtered:=false;.DataSource:=DataSource3;.Active:=true;.DataSource:=DataSource3;;TForm1.N41Click(Sender: TObject);.IndexFieldNames:='';.IndexFieldNames:='';.Label1.Tag:=0;.Filtered:=false;.DataSource:=DataSource4;.Active:=true;.DataSource:=DataSource4;;TForm1.BitBtn1Click(Sender: TObject);.Tag:=0;.NaimenEdit.Clear;.CostEdit.Clear;.PoshlinaEdit.Clear;.DataEdit.Clear;.FIOEdit.Clear;.KodTEdit.Clear;.KodSEdit.Clear;.NDEdit.Clear;.EducEdit.Clear;.AdressEdit.Clear;.FiOEdit.Clear;.KodSEdit.Clear;.KodDEdit.Clear;.TelefonEdit.Clear;.BirthyearEdit.Clear;.KodDEdit.Clear;.NaimenEdit.Clear;.OkladEdit.Clear;DBGrid1.Datasource=DataSource1 then.Append;.show;;DBGrid1.Datasource=DataSource2 then.Append;.show;;DBGrid1.Datasource=DataSource3 then.Append;.show;;DBGrid1.Datasource=DataSource4 then.Append;.show;;;TForm1.BitBtn2Click(Sender: TObject);.Tag:=1;DBGrid1.Datasource=DataSource1 then.KodTEdit.Text:=inttostr(Form1.Table1.FieldByName('Kod_tovara').Value);.NaimenEdit.Text:=Form1.Table1.FieldByName('Tovar_name').Value;.CostEdit.Text:=inttostr(Form1.Table1.FieldByName('Tovar_cost').Value);.PoshlinaEdit.Text:=inttostr(Form1.Table1.FieldByName('Poshlina').Value);.Show;;DBGrid1.Datasource=DataSource2 then.DataEdit.Text:=datetostr(Form1.Table2.FieldByName('Declaration_Data').Value);.FiOEdit.Text:=Form1.Table2.FieldByName('FIO_grazhdanina').Value;.KodSEdit.Text:=inttostr(Form1.Table2.FieldByName('Kod_sotrudnika').Value);.KodTEdit.Text:=inttostr(Form1.Table2.FieldByName('Kod_tovara').Value);.KolEdit.Text:=inttostr(Form1.Table2.FieldByName('Kolvo').Value);.NDEdit.Text:=inttostr(Form1.Table2.FieldByName('Declaration_number').Value);.Show;;DBGrid1.Datasource=DataSource3 then begin.EducEdit.Text:=Form1.Table3.FieldByName('Obrazovanie').Value;.AdressEdit.Text:=Form1.Table3.FieldByName('Adress_sotrudnika').Value;.FiOEdit.Text:=Form1.Table3.FieldByName('FiO_sotrudnika').Value;.KodSEdit.Text:=inttostr(Form1.Table3.FieldByName('Kod_sotrudnika').Value);.KodDEdit.Text:=inttostr(Form1.Table3.FieldByName('Kod_dolzhnosti').Value);.TelefonEdit.Text:=Form1.Table3.FieldByName('Telefon').Value;.BirthyearEdit.Text:=inttostr(Form1.Table3.FieldByName('Birthyear').Value);.Show;;DBGrid1.Datasource=DataSource4 then begin.KodDEdit.Text:=inttostr(Form1.Table4.FieldByName('Kod_dolzhnosti').Value);.NaimenEdit.Text:=Form1.Table4.FieldByName('Naimen_dolzhnosti').Value;.OkladEdit.Text:=inttostr(Form1.Table4.FieldByName('Oklad').Value);.Show;;;TForm1.BitBtn3Click(Sender: TObject);DBGrid1.Datasource=DataSource1 then.Delete;;DBGrid1.Datasource=DataSource2 then.Delete;;DBGrid1.Datasource=DataSource3 then.Delete;;DBGrid1.Datasource=DataSource4 then.Delete;;;TForm1.Table1CalcFields(DataSet: TDataSet);.FieldByName('Poshlina%').Value:=

(Table1.FieldByName('Poshlina').Value/.FieldByName('Tovar_cost').Value)*100; ;TForm1.BitBtn4Click(Sender: TObject);:longint;.DataSource:=DataSource1;:=0;.First;Table1 donot eof do begin:=Cost+Table1.FieldByName('Tovar_cost').Value;;;.Text:=inttostr(Cost);;TForm1.N5Click(Sender: TObject);.Close;;TForm1.N10Click(Sender: TObject);.Edit1.Clear;.Label1.Caption:='№ декларации:';.Show;.BitBtn1.Tag:=1;;TForm1.N14Click(Sender: TObject);.Edit1.Clear;.Label1.Caption:='Названиедолжности:';.Show;.BitBtn1.Tag:=3;;TForm1.N15Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select count(distinct(Kod_sotrudnika))');.Query1.SQL.Add('From Table2 where Declaration_Data between "01.01.2016" and "31.12.2016"');.Query1.Active:=true;.DBGrid1.DataSource:=Form1.DataSource5;;TForm1.N20101Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti,sum(kolvo)');.Query1.SQL.Add('from table2,table3,table4');.Query1.SQL.Add('where (table2.kod_sotrudnika=table3.kod_sotrudnika) and (table3.kod_dolzhnosti=table4.kod_dolzhnosti) and (Declaration_Data between "01.01.2010" and "31.12.2010")');.Query1.Sql.Add('group by FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti');.Query1.Active:=true;.DBGrid1.DataSource:=Form1.DataSource5;;TForm1.N16Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti');.Query1.SQL.Add('from table3,table4');.Query1.SQL.Add('where (table3.kod_dolzhnosti=table4.kod_dolzhnosti) and (Birthyear is null)');.Query1.Active:=true;.DBGrid1.DataSource:=Form1.DataSource5;;TForm1.N13Click(Sender: TObject);.Edit1.Clear;.Label1.Caption:='Наименованиетовара:';.Show;.BitBtn1.Tag:=2;;TForm1.BitBtn6Click(Sender: TObject);.Tag:=0;.NaimenEdit.Clear;.CostEdit.Clear;.PoshlinaEdit.Clear;.DataEdit.Clear;.FIOEdit.Clear;.KodTEdit.Clear;.KodSEdit.Clear;.NDEdit.Clear;.EducEdit.Clear;.AdressEdit.Clear;.FiOEdit.Clear;.KodSEdit.Clear;.KodDEdit.Clear;.TelefonEdit.Clear;.BirthyearEdit.Clear;.KodDEdit.Clear;.NaimenEdit.Clear;.OkladEdit.Clear;DBGrid1.Datasource=DataSource1 then.Insert;.show;;DBGrid1.Datasource=DataSource2 then.Insert;.show;;DBGrid1.Datasource=DataSource3 then.Insert;.show;;DBGrid1.Datasource=DataSource4 then.Insert;.show;;;TForm1.N19Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource1 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Tovar_name';.Label1.Tag:=1;.Show;;TForm1.N20Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource1 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Tovar_cost';.Label1.Tag:=1;.Show;;TForm1.N24Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource2 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Kod_tovara';.Label1.Tag:=2;.Show;;TForm1.N25Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource2 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Kolvo';.Label1.Tag:=2;.Show;;TForm1.N26Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource2 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Declaration_Data';.Label1.Tag:=2;.Show;;TForm1.N27Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource3 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Kod_dolzhnosti';.Label1.Tag:=3;.Show;;TForm1.N28Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource3 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='FiO_sotrudnika';.Label1.Tag:=3;.Show;;TForm1.N29Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource3 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Birthyear';.Label1.Tag:=3;.Show;;TForm1.N30Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource3 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Adress_sotrudnika';.Label1.Tag:=3;.Show;;TForm1.N34Click(Sender: TObject);Form1.DBGrid1.DataSource<>Form1.DataSource4 then begin('Невыбрананужнаятаблица!');;;.Label1.Caption:='Oklad';.Label1.Tag:=4;.Show;;TForm1.N35Click(Sender: TObject);.Click;.IndexFieldNames:='';;TForm1.N36Click(Sender: TObject);.Click;.IndexName:='DNumber';;TForm1.N37Click(Sender: TObject);.Click;.IndexName:='IKolvo';;TForm1.N38Click(Sender: TObject);.Click;.Active:=false;.Exclusive:=true;.AddIndex('KodS','Kod_sotrudnika',[ixCaseInsensitive,ixDescending],'');.Exclusive:=false;.Active:=true;.IndexName:='KodS';;TForm1.N39Click(Sender: TObject);.Click;.Active:=false;.Exclusive:=true;.AddIndex('IKodD','Kod_dolzhnosti',[ixDescending]);.Exclusive:=false;.Active:=true;.IndexName:='IKodD';;TForm1.N20111Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('select Tovar_name, tovar_cost, sum(kolvo) from table1,table2');.Query1.SQL.Add('where (Table1.kod_tovara=Table2.kod_tovara) and (Declaration_Data between "01.06.2011" and "30.06.2011")');.Query1.SQL.Add('group by Tovar_name, tovar_cost');.Query1.Active:=true;.DBGrid1.DataSource:=DataSource5;;TForm1.N40Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('select FiO_sotrudnika, Obrazovanie,Tovar_name,Tovar_cost, sum(tovar_cost) from table1,table2,table3');.Query1.SQL.Add('where (Table1.kod_tovara=Table2.kod_tovara) and (table2.kod_sotrudnika=Table3.kod_sotrudnika)');.Query1.SQL.Add('group by FiO_sotrudnika, Obrazovanie,Tovar_name,Tovar_cost');.Query1.Active:=true;.DBGrid1.DataSource:=DataSource5;;TForm1.N45Click(Sender: TObject);.RvProject1.Close;.RVConnect1.DataSet:=Form1.Table1;.RVProject1.ProjectFile:=ExtractFilePath(Application.Exename)+'Ot1.rav';.RVProject1.Execute;;TForm1.N47Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('select FiO_sotrudnika, Obrazovanie,Tovar_name,Tovar_cost, sum(tovar_cost) from table1,table2,table3');.Query1.SQL.Add('where (Table1.kod_tovara=Table2.kod_tovara) and (table2.kod_sotrudnika=Table3.kod_sotrudnika)');.Query1.SQL.Add('group by FiO_sotrudnika, Obrazovanie,Tovar_name,Tovar_cost');.Query1.Active:=true;.RvProject1.Close;.DataSet:=Query1;.RVProject1.ProjectFile:=ExtractFilePath(Application.Exename)+'GroupOt.rav';.RVProject1.Execute;;TForm1.N46Click(Sender: TObject);.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti');.Query1.SQL.Add('from table3,table4');.Query1.SQL.Add('where (table3.kod_dolzhnosti=table4.kod_dolzhnosti) and (Birthyear is null)');.Query1.Active:=true;.RvProject1.Close;.DataSet:=Query1;.RVProject1.ProjectFile:=ExtractFilePath(Application.Exename)+'Ot2.rav';.RVProject1.Execute;;.

Рис. Б.1 - Основная форма

unit Unit2;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

TForm2 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;: TEdit;: TEdit;: TEdit;

SaveBtn1: TBitBtn;

Label4: TLabel;: TEdit;SaveBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form2: TForm2;Unit1;

{$R *.dfm}TForm2.SaveBtn1Click(Sender: TObject);Form1.BitBtn2.Tag=1 then Form1.Table1.Edit;.Text<>'' then Form1.Table1.FieldByName('Kod_tovara').Value:=strtoint(KodTEdit.Text);.Table1.FieldByName('Tovar_name').Value:=NaimenEdit.Text;.Table1.FieldByName('Tovar_cost').Value:=strtoint(CostEdit.Text);.Table1.FieldByName('Poshlina').Value:=strtoint(PoshlinaEdit.Text);.Table1.Post;.Close;;

end.

Рис. Б.2 - Форма для добавления или изменения данных в первой таблице

unit Unit3;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

TForm3 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;

SaveBtn2: TBitBtn;SaveBtn2Click(Sender: TObject);

{ Privatedeclarations }

{ Public declarations };

Form3: TForm3;Unit1, Unit2;

{$R *.dfm}TForm3.SaveBtn2Click(Sender: TObject);Form1.BitBtn2.Tag=1 then Form1.Table2.Edit;.Table2.FieldByName('Declaration_Data').Value:=strtodate(Form3.DataEdit.Text);.Table2.FieldByName('FIO_grazhdanina').Value:=Form3.FiOEdit.Text;.Table2.FieldByName('Kod_sotrudnika').Value:=strtoint(Form3.KodSEdit.Text);.Table2.FieldByName('Kod_tovara').Value:=strtoint(Form3.KodTEdit.Text);.Table2.FieldByName('Kolvo').Value:=strtoint(Form3.KolEdit.Text);.Table2.FieldByName('Declaration_number').Value:=strtoint(Form3.NDEdit.Text);.Table2.Post;.Close;;.

Рис. Б.3 - Форма для добавления или изменения данных вовторой таблице

unit Unit4;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

TForm4 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;

SaveBtn3: TBitBtn;SaveBtn3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form4: TForm4;Unit1, Unit3;

{$R *.dfm}TForm4.SaveBtn3Click(Sender: TObject);Form1.BitBtn2.Tag=1 then Form1.Table3.Edit;.Table3.FieldByName('Obrazovanie').Value:=Form4.EducEdit.Text;.Table3.FieldByName('Adress_sotrudnika').Value:=Form4.AdressEdit.Text;.Table3.FieldByName('FiO_sotrudnika').Value:=Form4.FiOEdit.Text;.Table3.FieldByName('Kod_sotrudnika').Value:=strtoint(Form4.KodSEdit.Text);.Table3.FieldByName('Kod_dolzhnosti').Value:=strtoint(Form4.KodDEdit.Text);.Table3.FieldByName('Telefon').Value:=Form4.TelefonEdit.Text;.Table3.FieldByName('Birthyear').Value:=strtoint(Form4.BirthyearEdit.Text);.Table3.Post;.Close;;.

Рис. Б.4 - Форма для добавления или изменения данных в третьей таблице

unit Unit5;

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

Dialogs, StdCtrls, Buttons;

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;: TEdit;: TEdit;: TEdit;

SaveBtn4: TBitBtn;SaveBtn4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form5: TForm5;Unit1, Unit4;

{$R *.dfm}TForm5.SaveBtn4Click(Sender: TObject);Form1.BitBtn2.Tag=1 then Form1.Table4.Edit;.Table4.FieldByName('Kod_dolzhnosti').Value:=strtoint(KodDEdit.Text);.Table4.FieldByName('Naimen_dolzhnosti').Value:=NaimenEdit.Text;.Table4.FieldByName('Oklad').Value:=strtoint(OkladEdit.Text);.Table4.Post;.Close;;.

Рис. Б.5 - Форма для добавления или изменения данных в четвёртой таблице

unit Unit7;,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

TForm7 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

CheckBox1: TCheckBox;

BitBtn1: TBitBtn;BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form7: TForm7;Unit1;

{$R *.dfm}TForm7.BitBtn1Click(Sender: TObject);CheckBox1.Checked then beginLabel1.Tag of

: begin.Table1.Filtered := false;.Table1.Filter:=Label1.Caption+'='+#39+Edit1.Text+#39;.Table1.Filtered:=true;;

: begin.Table2.Filtered := false;.Table2.Filter:=Label1.Caption+'='+#39+Edit1.Text+#39;.Table2.Filtered:=true;;

: begin.Table3.Filtered := false;.Table3.Filter:=Label1.Caption+'='+#39+Edit1.Text+#39;.Table3.Filtered:=true;;

: begin.Table4.Filtered := false;.Table4.Filter:=Label1.Caption+'='+#39+Edit1.Text+#39;.Table4.Filtered:=true;;; //end case blockbegin.Table1.Filtered:=false;.Table1.Filter:='';.Table2.Filter:='';.Table3.Filter:='';.Table4.Filter:='';;(Form7.Label1.Tag=1) and(Form1.Table1.Locate(Label1.Caption,Edit1.Text,[])) then('Записьненайдена');(Form7.Label1.Tag=2) and(Form1.Table2.Locate(Label1.Caption,Edit1.Text,[])) then('Записьненайдена');(Form7.Label1.Tag=3) and(Form1.Table3.Locate(Label1.Caption,Edit1.Text,[])) then('Записьненайдена');(Form7.Label1.Tag=4) and(Form1.Table4.Locate(Label1.Caption,Edit1.Text,[])) then('Записьненайдена');.Close;;.

Рис. Б.6 - Форма для поиска и фильтрации

unit Unit6;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

TForm6 = class(TForm)

Edit1: TEdit;

BitBtn1: TBitBtn;

Label1: TLabel;BitBtn1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

Form6: TForm6;Unit1;

{$R *.dfm}TForm6.BitBtn1Click(Sender: TObject);Form6.BitBtn1.Tag=1 then begin.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('SELECT Table3.FiO_sotrudnika, Table3.Adress_sotrudnika, Table3.Telefon, Table3.Birthyear');.Query1.SQL.Add('FROM "Table2.DB" Table2');.Query1.SQL.Add('INNER JOIN "Table3.db" Table3');.Query1.SQL.Add('ON (Table2.Kod_sotrudnika = Table3.Kod_sotrudnika)');.Query1.SQL.Add('WHERE Table2.Declaration_number=:Par');.Query1.ParamByName('Par').AsInteger:=strtoint(Form6.Edit1.Text);.Query1.Active:=true;.Close;.DBGrid1.DataSource:=Form1.DataSource5;;Form6.BitBtn1.Tag=3 then begin.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select count(Table3.Kod_dolzhnosti), Oklad');.Query1.SQL.Add('From Table3, Table4');.Query1.SQL.Add('where (Table3.Kod_dolzhnosti=Table4.Kod_dolzhnosti) and (Naimen_dolzhnosti=:Par)');.Query1.SQL.Add('group by Oklad');.Query1.ParamByName('Par').AsString:=Form6.Edit1.Text;.Query1.Active:=true;.Close;.DBGrid1.DataSource:=Form1.DataSource5;;Form6.BitBtn1.Tag=2 then begin.Query1.Close;.Query1.SQL.Clear;.Query1.SQL.Add('Select FiO_sotrudnika,Adress_sotrudnika,Telefon,Obrazovanie,Naimen_dolzhnosti');.Query1.SQL.Add('From Table1,Table2,Table3,Table4');.Query1.SQL.Add('where (Tovar_name=:Par) and (Table1.Kod_tovara=Table2.Kod_tovara) and (Table2.Kod_sotrudnika=Table3.Kod_sotrudnika) and (Table3.Kod_dolzhnosti=Table4.Kod_dolzhnosti)');.Query1.ParamByName('Par').AsString:=Form6.Edit1.Text;.Query1.Active:=true;.Close;.DBGrid1.DataSource:=Form1.DataSource5;;

end;

end.

Рис. Б.7 - Форма для работы с динамическими запросами