Диплом: Автоматизация взаимоотношений с клиентами спортивного комплекса «Искра»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
mtConfirmation,[mbYes,mbNo],0)=mrYes
then Q3posetiteli.Cancel
else Form1.DBEdit1.SetFocus;
end;
procedure TDM.Q1zanyatiyaBeforePost(DataSet: TDataSet);
begin
if DM.Q1zanyatiya.State=dsInsert then
Dobavit_v_T2:=true;
TRAN.SQL.Clear;
TRAN.SQL.Add('BEGIN TRAN');
TRAN.ExecSQL;
showmessage('Начало транзакции');
end;
procedure TDM.Q1zanyatiyaAfterPost(DataSet: TDataSet);
begin
with DM do begin
TRY
if Dobavit_v_T2=true then begin
Q2zapis.Append;
Q2zapis.FieldByName('kod_zanyztiya').AsVariant:=Q1zanyatiya.FieldByName('kod_zanyztiya')
.AsVariant;
Q2zapis.FieldByName('kod_posetitelya').AsVariant:=Q3posetiteli.FieldByName('kod_posetitely
a').AsVariant;
Q2zapis.Post;
//showmessage('Добавили запись в Т2');
Dobavit_v_T2:=false;
118
end;
TRAN.SQL.Clear;
TRAN.SQL.Add('COMMIT TRAN');
TRAN.ExecSQL;
showmessage('Успешное выполнение транзакции');
EXCEPT
TRAN.SQL.Clear;
TRAN.SQL.Add('ROLLBACK TRAN');
TRAN.ExecSQL;
showmessage('Откат транзакции 1');
Q1zanyatiya.Close;
Q1zanyatiya.Open;
END;
end;
end;
procedure TDM.Q1zanyatiyaPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
TRAN.SQL.Clear;
TRAN.SQL.Add('ROLLBACK TRAN');
TRAN.ExecSQL;
showmessage('Откат транзакции 2');
Q1zanyatiya.Close;
Q1zanyatiya.Open;
end;
procedure TDM.PRIMAfterInsert(DataSet: TDataSet);
119
begin
DM.PRIM.FieldByName('kod_zanyztiya').AsVariant:=DM.Q1zanyatiya.FieldByName('kod_zan
yztiya').AsVariant;
end;
procedure TDM.Q1zanyatiyaCalcFields(DataSet: TDataSet);
begin
Q1zanyatiya.FieldByName('ObS').AsInteger:=
Q1zanyatiya.FieldByName('stoimost_zanyatiya').AsInteger *
Q1zanyatiya.FieldByName('max_chelovek').AsInteger;
end;
procedure TDM.Q3posetiteliCalcFields(DataSet: TDataSet);
begin
Q3posetiteli.FieldByName('FIO').Asstring:=
Q3posetiteli.FieldByName('familiya').Asstring+'
'+Q3posetiteli.FieldByName('Imya').AsString[1]+'.'
+ Q3posetiteli.FieldByName('Otchestvo').AsString[1];
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ExtCtrls, DBCtrls, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid;
120
type
TForm3 = class(TForm)
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
DBNavigator1: TDBNavigator;
cxGrid1DBTableView1Kod_posetitelya: TcxGridDBColumn;
cxGrid1DBTableView1FAM: TcxGridDBColumn;
cxGrid1DBTableView1Nomer_zapisy: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya: TcxGridDBColumn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses unit2;
{$R *.dfm}
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
121
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, StdCtrls, cxImage;
type
TForm4 = class(TForm)
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Button1: TButton;
cxGrid1DBTableView1Kod_posetitelya: TcxGridDBColumn;
cxGrid1DBTableView1Familiya: TcxGridDBColumn;
cxGrid1DBTableView1Imya: TcxGridDBColumn;
cxGrid1DBTableView1Otchestvo: TcxGridDBColumn;
cxGrid1DBTableView1Date: TcxGridDBColumn;
cxGrid1DBTableView1Telefon: TcxGridDBColumn;
cxGrid1DBTableView1Kod_posetitelya_1: TcxGridDBColumn;
cxGrid1DBTableView1Nomer_zapisy: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya: TcxGridDBColumn;
cxGrid1DBTableView1Kod_zanyztiya_1: TcxGridDBColumn;
122
cxGrid1DBTableView1Kod_trenera: TcxGridDBColumn;
cxGrid1DBTableView1nachalo_zanyatiya: TcxGridDBColumn;
cxGrid1DBTableView1okonchanie_zanyatiya: TcxGridDBColumn;
cxGrid1DBTableView1stoimost_zanyatiya: TcxGridDBColumn;
cxGrid1DBTableView1Max_chelovek: TcxGridDBColumn;
cxGrid1DBTableView1Kod_yclygi: TcxGridDBColumn;
cxGrid1DBTableView1Naim_yclygi: TcxGridDBColumn;
cxGrid1DBTableView1Kod_trenera_1: TcxGridDBColumn;
cxGrid1DBTableView1Kod_yclygi_1: TcxGridDBColumn;
cxGrid1DBTableView1Familiya_trenera: TcxGridDBColumn;
cxGrid1DBTableView1Imya_trenera: TcxGridDBColumn;
cxGrid1DBTableView1Otchestvo_trenera: TcxGridDBColumn;
cxGrid1DBTableView1Date_trenera: TcxGridDBColumn;
cxGrid1DBTableView1Kvalification: TcxGridDBColumn;
cxGrid1DBTableView1Foto: TcxGridDBColumn;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
123
uses unit2, Unit1;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
Label1.Visible:=false;
with DM do begin
if CheckBox1.Checked or CheckBox2.Checked then begin
FIND.SQL.Clear;
FIND.SQL.Add('select * from Posetiteli,Trenera,Yclygi,Zanyatiya,Zapis');
FIND.SQL.Add('where Posetiteli.kod_posetitelya=Zapis.Kod_posetitelya and
Zanyatiya.kod_zanyztiya=Zapis.kod_zanyztiya and Zanyatiya.kod_trenera=Trenera.kod_trenera
and Trenera.kod_yclygi=Yclygi.kod_yclygi');
end
else FIND.Close;
if CheckBox1.Checked then
if CheckBox3.Checked then
FIND.SQL.Add('and Posetiteli.familiya like '+#39+'%'+Edit1.Text+'%'+#39)
else
DM.FIND.SQL.Add('and Posetiteli.familiya='+#39+Edit1.Text+#39);
if CheckBox2.Checked then
if CheckBox3.Checked then
FIND.SQL.Add('and Yclygi.Naim_yclygi like '+#39+'%'+Edit2.Text+'%'+#39)
else
FIND.SQL.Add('and Yclygi.Naim_yclygi='+#39+Edit2.Text+#39);
if CheckBox1.Checked or CheckBox2.Checked then begin
FIND.SQL.Add('order by Posetiteli.kod_posetitelya,Yclygi.kod_yclygi');
FIND.Open;
124
if FIND.IsEmpty then Label1.Visible:=true;
end;
end;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
DM.Q3posetiteli.Locate('familiya',DM.FIND.FieldByName('familiya').AsVariant,[]);
DM.Q5yslugi.Locate('naim_yclygi',DM.FIND.FieldByName('naim_yclygi').AsVariant,[]);
Form1.SetFocus;
end;
end.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")