Скачиваний:
8
Добавлен:
17.06.2023
Размер:
3.42 Mб
Скачать

begin

OtchPribForm.ShowModal;

 

 

KlientForm:=TKlientForm.Create(self);

end;

 

 

KlientForm.ShowModal;

 

 

 

end;

procedure TMainMenuForm.N22Click(Sender: TObject);

 

 

begin

 

 

procedure TMainMenuForm.N10Click(Sender: TObject);

OtchPriceForm:=TOtchPriceForm.Create(self);

 

 

begin

OtchPriceForm.ShowModal;

 

 

PutevkaForm:=TPutevkaForm.Create(self);

end;

 

 

PutevkaForm.ShowModal;

 

 

 

end;

procedure TMainMenuForm.N23Click(Sender: TObject);

 

 

begin

 

 

procedure TMainMenuForm.N13Click(Sender: TObject);

OtchDohodForm:=TOtchDohodForm.Create(self);

 

 

var F:TiniFile;

OtchDohodForm.ShowModal;

 

 

DBPath1:string;

end;

 

 

begin

end.

 

 

F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini');

 

 

 

//Считываем путь резервного копирования из файла option.ini

unit PassChangeUnit;

 

 

DBPath1:=F.ReadString('Section_DBPath','Path','');

 

 

 

F.Free;

interface

 

 

// делаем резервную копию файла БД

 

 

 

 

uses

 

 

CopyFile(pchar(DBPath1+'Turagentstvo.mdb'),pchar(DBPath1+'COPY_

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

Turagentstvo.mdb'),false);

Forms,

 

 

MessageDlg('Создана резервная копия БД ',mtInformation, [mbOk], 0);

Dialogs, StdCtrls, DBCtrls, DataModule, MainMenuUnit, VhodUnit;

end;

 

 

 

 

type

 

 

 

TPassChangeForm = class(TForm)

 

 

procedure TMainMenuForm.N14Click(Sender: TObject);

Label1: TLabel;

 

 

begin

Label2: TLabel;

 

 

PassChangeForm:=TPassChangeForm.Create(self);

Label3: TLabel;

 

 

PassChangeForm.ShowModal;

Label4: TLabel;

 

 

//MainMenuForm.close;

Edit1: TEdit;

 

 

end;

Edit2: TEdit;

 

 

 

Edit3: TEdit;

 

 

procedure TMainMenuForm.N17Click(Sender: TObject);

Button1: TButton;

 

 

begin

Button2: TButton;

 

 

VhodForm.button1.caption:='Изменить';

DBLookupComboBox1: TDBLookupComboBox;

 

VhodForm.Show;

procedure Button1Click(Sender: TObject);

 

 

//MainMenuForm.close;

procedure Button2Click(Sender: TObject);

 

 

end;

procedure FormShow(Sender: TObject);

 

 

 

procedure DBLookupComboBox1CloseUp(Sender: TObject);

 

procedure TMainMenuForm.N16Click(Sender: TObject);

private

 

 

begin

{ Private declarations }

 

 

MessageDlg('Курсовой проект Программа для реализации файл-

public

 

 

серверной архитектуры. Предметная облась "ИНФОРМАЦИОННАЯ

{ Public declarations }

 

 

СИСТЕМА ДЛЯ АВТОМАТИЗАЦИИ УЧЕТА ТУРАГЕНТСКОЙ

end;

 

 

ДЕЯТЕЛЬНОСТИ". Студент Пелипенко А.В. Группа ПИЭ-12"®',

 

 

 

mtInformation,[mbOk], 0);

var

 

 

end;

PassChangeForm: TPassChangeForm;

 

 

 

posetitel,pwd:string;

 

 

procedure TMainMenuForm.FormClose(Sender: TObject;

 

 

 

var Action: TCloseAction);

implementation

 

 

begin

 

 

 

Application.Terminate;

{$R *.dfm}

 

 

end;

 

 

 

 

procedure TPassChangeForm.Button1Click(Sender: TObject);

 

procedure TMainMenuForm.N18Click(Sender: TObject);

begin

 

 

begin

if posetitel<>'' then // если пользователь ясен

 

 

OtchPutForm:=TOtchPutForm.Create(self);

// если пароль не совпадает

 

 

OtchPutForm.ShowModal;

if pwd<>Trim(Edit1.Text) then

 

 

end;

// то выдаём сообщение

 

 

 

MessageDlg('Не верный пароль!!!',mtError, [mbOk], 0)

 

procedure TMainMenuForm.N21Click(Sender: TObject);

else // иначе

 

 

begin

begin

 

 

OtchMarForm:=TOtchMarForm.Create(self);

//проверяем дублирование пароля

 

 

OtchMarForm.ShowModal;

if Edit2.Text=Edit3.Text then

 

 

end;

begin

 

 

 

//если совпадает, то обновляем запись в таблице

 

procedure TMainMenuForm.N19Click(Sender: TObject);

DM.VhodQuery.SQL.Clear;

 

 

begin

DM.VhodQuery.SQL.Add('UPDATE

PWDTBL

SET

OtchOpForm:=TOtchOpForm.Create(self);

PASS="'+Edit3.Text+'"

 

WHERE

OtchOpForm.ShowModal;

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

 

end;

DM.VhodQuery.ExecSQL;

 

 

 

MainMenuForm:= TMainMenuForm.Create(self); //

создание

procedure TMainMenuForm.N20Click(Sender: TObject);

формы основного меню

 

 

begin

MainMenuForm.Show;

 

 

OtchPribForm:=TOtchPribForm.Create(self);

 

 

 

42

(**устанавливаем

ограничения

в

соответствии

с

Dialogs, Grids, DBGrids, DataModule, StdCtrls, ExtCtrls, DBCtrls,

пользователем**)

 

 

 

 

Mask,

if posetitel='Гость' then

 

 

 

Buttons, accessdb;

begin

 

 

 

 

 

MainMenuForm.N2.Enabled:=false;

 

 

 

type

MainMenuForm.N3.Enabled:=false;

 

 

 

TTuroperatorForm = class(TForm)

MainMenuForm.N4.Enabled:=false;

 

 

 

DBGrid1: TDBGrid;

// Main_MenuForm.ServiceN.Enabled:=false;

 

 

BitBtn1: TBitBtn;

end;

 

 

 

 

BitBtn2: TBitBtn;

if posetitel='Менеджер' then

 

 

 

BitBtn3: TBitBtn;

begin

 

 

 

 

DBGrid2: TDBGrid;

MainMenuForm.N3.Enabled:=false;

 

 

 

BitBtn4: TBitBtn;

// Main_MenuForm.N4.Enabled:=false;

 

 

 

BitBtn5: TBitBtn;

// Main_MenuForm.ReportN.Enabled:=false;

 

 

BitBtn6: TBitBtn;

end;

 

 

 

 

RadioButton1: TRadioButton;

if posetitel='Администратор'then

 

 

 

RadioButton2: TRadioButton;

begin

 

 

 

 

Label1: TLabel;

MainMenuForm.N1.Enabled:=true;

 

 

 

Label2: TLabel;

MainMenuForm.N2.Enabled:=true;

 

 

 

Label3: TLabel;

MainMenuForm.N3.Enabled:=true;

 

 

 

ComboBox1: TComboBox;

MainMenuForm.N4.Enabled:=true;

 

 

 

Edit1: TEdit;

MainMenuForm.N5.Enabled:=true;

 

 

 

Label4: TLabel;

end;

 

 

 

 

procedure FormCreate(Sender: TObject);

// скрываем форму

 

 

 

 

procedure BitBtn3Click(Sender: TObject);

VhodForm.Hide;

 

 

 

 

procedure BitBtn1Click(Sender: TObject);

// PassChangeForm.Close;

 

 

 

procedure BitBtn2Click(Sender: TObject);

DM.VhodQuery.SQL.Clear;

 

 

 

procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,

DM.VhodQuery.Close;

 

 

 

ToIndex: Integer);

end

 

 

 

 

procedure DBGrid1CellClick(Column: TColumn);

else MessageDlg('Не верное дублирование пароля!!!',mtError,

procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;

[mbOk], 0);

 

 

 

 

Shift: TShiftState);

end

 

 

 

 

procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;

else MessageDlg('Укажите пользователя',mtWarning, [mbOk],

Shift: TShiftState);

0);

 

 

 

 

procedure BitBtn4Click(Sender: TObject);

end;

 

 

 

 

procedure BitBtn5Click(Sender: TObject);

 

 

 

 

 

procedure BitBtn6Click(Sender: TObject);

procedure TPassChangeForm.Button2Click(Sender: TObject);

 

procedure Refresh;

begin

 

 

 

 

procedure Edit1Change(Sender: TObject);

PassChangeForm.Close;

 

 

 

 

procedure DBGrid1TitleClick(Column: TColumn);

end;

 

 

 

 

 

 

 

 

 

 

private

 

 

 

 

 

{ Private declarations }

procedure TPassChangeForm.FormShow(Sender: TObject);

 

public

begin

 

 

 

 

{ Public declarations }

DM.VhodQuery.SQL.Clear;

 

 

 

 

end;

// возвращаем запрос в исходное состояние

 

 

 

 

DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL;');

 

const

DM.VhodQuery.Open;

 

 

 

 

Turoperator_SQL='SELECT * FROM Turoperator ';

end;

 

 

 

 

Telefon_SQL='SELECT * FROM Telefon ';

procedure TPassChangeForm.DBLookupComboBox1CloseUp(Sender:

var

TObject);

 

 

 

 

TuroperatorForm: TTuroperatorForm;

begin

 

 

 

 

 

posetitel:= DBLookupComboBox1.Text;

 

 

 

implementation

if posetitel<>'' then

 

 

 

 

 

begin

 

 

 

 

uses RTuroperatorUnit, RTelefonUnit;

Edit1.SetFocus;

 

 

 

 

 

DM.VhodQuery.Close;

 

 

 

 

{$R *.dfm}

DM.VhodQuery.SQL.Clear;

 

 

 

 

 

DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL WHERE

procedure TTuroperatorForm.FormCreate(Sender: TObject);

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

 

var i:integer;

DM.VhodQuery.Open;

 

 

 

 

begin

pwd:=DM.VhodQuery.FieldByName('PASS').AsString;

 

//подключение к БД

DM.VhodQuery.SQL.Clear;

 

 

 

 

DM.ADOConnection1.Connected:=true;

DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL;');

 

//очистка текста запроса

DM.VhodQuery.Open;

 

 

 

 

DM.TuroperatorQuery.SQL.Clear;

end;

 

 

 

 

//формирование запроса

end;

 

 

 

 

DM.TuroperatorQuery.SQL.Add(Turoperator_SQL+';');

 

 

 

 

 

//исполнение запроса и вывод результата

end.

 

 

 

 

DM.TuroperatorQuery.Open;

 

 

 

 

 

id_op:=dm.TuroperatorQuery.Fields[0].AsString;

unit TuroperatorUnit;

 

 

 

 

DM.TelefonQuery.SQL.Clear;

 

 

 

 

 

//формирование запроса

interface

 

 

 

 

DM.TelefonQuery.SQL.Add('select ID_tel,nomer_tel from Telefon

 

 

 

 

 

WHERE (ID_op='+id_op+')');

uses

 

 

 

 

//исполнение запроса и вывод результата

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

DM.TelefonQuery.Open;

Forms,

 

 

 

 

 

43

DBGrid1.Columns.Items[0].Title.Caption:='Номер договора'; DBGrid1.Columns.Items[1].Title.Caption:='Название'; DBGrid1.Columns.Items[2].Title.Caption:='Адрес'; DBGrid1.Columns.Items[3].Title.Caption:='Дата заключения договора';

DBGrid1.Columns.Items[4].Title.Caption:='Дата окончания договора'; DBGrid2.Columns.Items[0].Title.Caption:='Номер телефона';

for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

end;

procedure TTuroperatorForm.Refresh; begin

DM.TuroperatorQuery.Close;

DM.TuroperatorQuery.Open;

end;

procedure TTuroperatorForm.BitBtn3Click(Sender: TObject); begin

if DM.TuroperatorQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_op:=DM.TuroperatorQuery.Fields[0].AsString; tm:=1;

if accessdb.Delete('op','Turoperator',id_op)=false then showmessage('Запись используется другим пользователем')

else DM.TuroperatorQuery.Requery(); end;

end;

procedure TTuroperatorForm.BitBtn1Click(Sender: TObject); begin

tm:=0;

RTuroperatorForm:=TRTuroperatorForm.Create(self); RTuroperatorForm.Caption:=RTuroperatorForm.Caption+' : '+TuroperatorForm.BitBtn1.Caption;

RTuroperatorForm.ShowModal;

end;

procedure TTuroperatorForm.BitBtn2Click(Sender: TObject); begin

if dm.TuroperatorQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; tm:=1;

if accessdb.Update('op','Turoperator',id_op)=false then showmessage('Запись используется другим пользователем')

else begin

RTuroperatorForm:=TRTuroperatorForm.Create(self);

rn:=dm.TuroperatorQuery.RecNo;

RTuroperatorForm.Edit3.Text:=dm.TuroperatorQuery.fieldbyname('nom erdog_op').AsString;

RTuroperatorForm.Edit1.Text:=dm.TuroperatorQuery.fieldbyname('nazv _op').AsString;

RTuroperatorForm.Edit2.Text:=dm.TuroperatorQuery.fieldbyname('adres _op').AsString;

RTuroperatorForm.Caption:=caption+' : '+bitbtn2.Caption; RTuroperatorForm.ShowModal;

end;

end;

end;

procedure TTuroperatorForm.DBGrid1ColumnMoved(Sender: TObject; FromIndex,

ToIndex: Integer); begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; DM.TelefonQuery.SQL.Clear;

//формирование запроса

44

DM.TelefonQuery.SQL.Add('select nomer_tel from Telefon WHERE (ID_op='+id_op+')');

//исполнение запроса и вывод результата

DM.TelefonQuery.Open;

end;

procedure TTuroperatorForm.DBGrid1CellClick(Column: TColumn); begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; DM.TelefonQuery.SQL.Clear;

//формирование запроса

DM.TelefonQuery.SQL.Add('select ID_tel,nomer_tel from Telefon WHERE (ID_op='+id_op+')');

//исполнение запроса и вывод результата

DM.TelefonQuery.Open;

end;

procedure TTuroperatorForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState); begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; DM.TelefonQuery.SQL.Clear;

//формирование запроса

DM.TelefonQuery.SQL.Add('select ID_tel,nomer_tel from Telefon WHERE (ID_op='+id_op+')');

//исполнение запроса и вывод результата

DM.TelefonQuery.Open;

end;

procedure TTuroperatorForm.DBGrid1KeyUp(Sender: TObject; var Key: Word;

Shift: TShiftState); begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; DM.TelefonQuery.SQL.Clear;

//формирование запроса

DM.TelefonQuery.SQL.Add('select ID_tel,nomer_tel from Telefon WHERE (ID_op='+id_op+')');

//исполнение запроса и вывод результата

DM.TelefonQuery.Open;

end;

procedure TTuroperatorForm.BitBtn4Click(Sender: TObject); begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; tm:=0; RTelefonForm:=TRTelefonForm.Create(self);

RTelefonForm.Caption:=RTelefonForm.Caption+' : '+TuroperatorForm.BitBtn4.Caption;

RTelefonForm.ShowModal;

end;

procedure TTuroperatorForm.BitBtn5Click(Sender: TObject); begin

if dm.TelefonQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_op:=dm.TuroperatorQuery.Fields[0].AsString; id_tel:=dm.TelefonQuery.Fields[0].AsString; tm:=1;

if accessdb.Update('tel','Telefon',id_tel)=false then showmessage('Запись используется другим пользователем')

else begin

RTelefonForm:=TRTelefonForm.Create(self);

rn:=dm.TelefonQuery.RecNo;

RTelefonForm.Edit1.Text:=dm.TelefonQuery.fieldbyname('nomer_tel'). AsString;

RTelefonForm.Caption:=caption+' : '+bitbtn5.Caption; RTelefonForm.ShowModal;

end;

end;

end;

procedure TTuroperatorForm.BitBtn6Click(Sender: TObject);

begin

if DM.TelefonQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_tel:=dm.TelefonQuery.Fields[0].AsString; tm:=1;

if accessdb.Delete('tel','Telefon',id_tel)=false then showmessage('Запись используется другим пользователем')

else DM.TelefonQuery.Requery(); end;

end;

procedure TTuroperatorForm.Edit1Change(Sender: TObject); Var S:String;

begin

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

//Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1

S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName;

DM.TuroperatorQuery.SQL.Clear;

//Формирования запроса по полю сохранённому в переменной S

DM.TuroperatorQuery.SQL.Add(Turoperator_SQL+' WHERE '+s+'

LIKE "'+Edit1.text+'%"'); // Обновляем

Refresh;

end;

procedure TTuroperatorForm.DBGrid1TitleClick(Column: TColumn); var

s:string; //направление сорировки i:integer;

clr:TColor; // цвет колонки при сортировке begin

//по умолчанию сортировка по возрастанию

//цвет колонки - зеленый

s:=' ASC';

clr:= clMoneyGreen;

//меняем цвет и направление если пользователь выбрал иное if RadioButton2.Checked then

begin

s:=' DESC'; clr:= clSkyBlue;

end;

//возвращаем исходный цвет всех колонок

//и подсвечиваем выбранную колонку

for i:=0 to DBGrid1.Columns.Count-1 do DBGrid1.Columns.Items[i].Title.Color:= clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; // выполняем сортировку по выбранной колонке

DM.TuroperatorQuery.Sort:=

DBGrid1.Columns.Items[Column.Index].FieldName+s;

end;

end.

unit RTuroperatorUnit;

interface

uses

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

Dialogs, Turoperatorunit, DataModule, StdCtrls, Mask, DBCtrls, ExtCtrls,

ComCtrls, Buttons, accessdb;

type

TRTuroperatorForm = class(TForm) Label1: TLabel;

Label2: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label3: TLabel;

Label4: TLabel;

DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker;

45

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit; Label5: TLabel;

procedure BitBtn2Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn1Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

RTuroperatorForm: TRTuroperatorForm;

implementation

{$R *.dfm}

procedure TRTuroperatorForm.BitBtn2Click(Sender: TObject); begin

closequery;

end;

procedure TRTuroperatorForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin accessdb.Zan('op','Turoperator',id_op,tm);

Edit1.Clear;Edit2.Clear;{DateTimePicker1.DateT;DateTimePicker2.Clea

r};

DateTimePicker1.DateTime:=date;

DateTimePicker2.DateTime:=date;

close;

end;

procedure TRTuroperatorForm.BitBtn1Click(Sender: TObject); begin

if (Edit1.Text='') OR (Edit2.Text='') OR (Edit3.Text='') then showmessage('Вы не заполнили одно или несколько полей')

else begin

if tm=0 then begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_op from Turoperator where (nomerdog_op="'+Edit3.Text+'")';

dm.temp.Active:=true;

if dm.temp.RecordCount>0 then showmessage('Подобная запись уже существует')

else begin

dm.ADOCommand1.CommandText:='Insert into Turoperator (nomerdog_op, nazv_op, adres_op, datazakdog_op, dataokdog_op) values ("'+Edit3.Text+'","'+Edit1.Text+'","'+Edit2.Text+'","'+datetostr(DateTime Picker1.Date)+'","'+datetostr(DateTimePicker2.Date)+'")';

dm.ADOCommand1.Execute;

dm.TuroperatorQuery.Requery();

dm.TuroperatorQuery.Last;

closequery;

end; end

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_op from Turoperator where (nazv_op="'+Edit1.Text+'") and (adres_op="'+Edit2.Text+'")';

dm.temp.Active:=true;

if (dm.temp.RecordCount>0) and (id_op<>dm.temp.Fields[0].asstring) then showmessage('Подобная запись уже существует')

else begin

dm.ADOCommand1.CommandText:='Update Turoperator SET nomerdog_op="'+Edit3.Text+'", nazv_op="'+Edit1.Text+'",adres_op="'+Edit2.Text+'",datazakdog_op="'+ datetostr(DateTimePicker1.Date)+'",dataokdog_op="'+datetostr(DateTim ePicker2.Date)+'" WHERE (id_op='+id_op+')';

dm.ADOCommand1.Execute;

dm.TuroperatorQuery.Requery();

 

 

end;

 

 

 

closequery;

 

 

end

 

 

 

dm.TuroperatorQuery.RecNo:=rn;

 

 

else

 

 

 

end;

 

 

begin

 

 

 

end;

 

 

dm.temp.Active:=false;

 

 

 

end;

 

 

dm.temp.CommandText:='Select id_tel from

Telefon

where

end;

 

 

(nomer_tel="'+Edit1.Text+'")';

 

 

 

end.

 

 

dm.temp.Active:=true;

 

 

 

 

 

 

if (dm.temp.RecordCount>0) and (id_tel<>dm.temp.Fields[0].asstring)

 

 

 

then showmessage('Подобная запись уже существует')

 

unit RTelefonUnit;

 

 

else

 

 

 

 

 

 

begin

 

 

 

interface

 

 

dm.ADOCommand1.CommandText:='Update

Telefon

SET

 

 

 

nomer_tel="'+Edit1.Text+'" WHERE (id_tel='+id_tel+')';

 

uses

 

 

dm.ADOCommand1.Execute;

 

 

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

dm.TelefonQuery.Requery();

 

 

Forms,

 

 

closequery;

 

 

 

Dialogs, Turoperatorunit, DataModule, StdCtrls, Mask, DBCtrls,

dm.TelefonQuery.RecNo:=rn;

 

 

ExtCtrls,

 

 

end;

 

 

 

ComCtrls, Buttons, accessdb;

 

 

end;

 

 

 

 

 

 

end;

 

 

 

type

 

 

end;

 

 

 

TRTelefonForm = class(TForm)

 

 

 

 

 

 

Label1: TLabel;

 

 

end.

 

 

 

Edit1: TEdit;

 

 

 

 

 

 

BitBtn1: TBitBtn;

 

 

 

 

 

 

BitBtn2: TBitBtn;

 

 

unit MarshrutUnit;

 

 

 

procedure BitBtn2Click(Sender: TObject);

 

 

 

 

 

 

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

interface

 

 

 

procedure BitBtn1Click(Sender: TObject);

 

 

 

 

 

 

private

 

 

uses

 

 

 

{ Private declarations }

 

 

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

public

 

 

Forms,

 

 

 

{ Public declarations }

 

 

Dialogs, Grids, DBGrids, DataModule, StdCtrls, Buttons, accessdb;

end;

 

 

 

 

 

 

 

 

 

type

 

 

 

var

 

 

TMarshrutForm = class(TForm)

 

 

RTelefonForm: TRTelefonForm;

 

 

DBGrid1: TDBGrid;

 

 

 

 

 

 

BitBtn1: TBitBtn;

 

 

 

implementation

 

 

BitBtn2: TBitBtn;

 

 

 

 

 

 

BitBtn3: TBitBtn;

 

 

 

{$R *.dfm}

 

 

Label1: TLabel;

 

 

 

 

 

 

RadioButton1: TRadioButton;

 

 

procedure TRTelefonForm.BitBtn2Click(Sender: TObject);

 

RadioButton2: TRadioButton;

 

 

begin

 

 

Label2: TLabel;

 

 

 

closequery;

 

 

Label3: TLabel;

 

 

 

end;

 

 

Label4: TLabel;

 

 

 

 

 

 

ComboBox1: TComboBox;

 

 

 

procedure TRTelefonForm.FormCloseQuery(Sender: TObject;

 

Edit1: TEdit;

 

 

 

var CanClose: Boolean);

 

 

procedure FormCreate(Sender: TObject);

 

 

begin

 

 

procedure BitBtn1Click(Sender: TObject);

 

 

accessdb.Zan('tel','Telefon',id_tel,tm);

 

 

procedure BitBtn2Click(Sender: TObject);

 

 

Edit1.Clear;

 

 

procedure BitBtn3Click(Sender: TObject);

 

 

close;

 

 

procedure Refresh;

 

 

 

end;

 

 

procedure Edit1Change(Sender: TObject);

 

 

 

 

 

procedure DBGrid1TitleClick(Column: TColumn);

 

 

procedure TRTelefonForm.BitBtn1Click(Sender: TObject);

 

private

 

 

 

begin

 

 

{ Private declarations }

 

 

 

if Edit1.Text='' then showmessage('Вы не заполнили одно или

public

 

 

 

несколько полей')

 

 

{ Public declarations }

 

 

 

else

 

 

end;

 

 

 

begin

 

 

 

 

 

 

if tm=0 then

 

 

const

 

 

 

begin

 

 

Marshrut_SQL='SELECT

Marshrut.ID_mar,

Marshrut.nazv_mar,

dm.temp.Active:=false;

 

 

Marshrut.strana_mar, Turoperator.nazv_op FROM Turoperator INNER

dm.temp.CommandText:='Select id_tel from

Telefon

where

JOIN Marshrut ON Turoperator.ID_op = Marshrut.ID_op';

 

(nomer_tel="'+Edit1.Text+'")';

 

 

 

 

 

 

dm.temp.Active:=true;

 

 

var

 

 

 

if dm.temp.RecordCount>0 then showmessage('Подобная запись уже

MarshrutForm: TMarshrutForm;

 

 

существует')

 

 

 

 

 

 

else

 

 

implementation

 

 

 

begin

 

 

 

 

 

 

dm.ADOCommand1.CommandText:='Insert

into

Telefon

uses RMarshrutUnit;

 

 

 

(id_op,nomer_tel) values ('+id_op+',"'+Edit1.Text+'")';

 

 

 

 

 

 

dm.ADOCommand1.Execute;

 

 

{$R *.dfm}

 

 

 

dm.TelefonQuery.Requery();

 

 

 

 

 

 

dm.TelefonQuery.Last;

 

 

procedure TMarshrutForm.FormCreate(Sender: TObject);

 

closequery;

 

 

var i:integer;

 

 

 

46

begin //подключение к БД

DM.ADOConnection1.Connected:=true; //очистка текста запроса

DM.MarshrutQuery.SQL.Clear;

//формирование запроса

DM.MarshrutQuery.SQL.Add(Marshrut_SQL+';');

//исполнение запроса и вывод результата

DM.MarshrutQuery.Open; DBGrid1.Columns.Items[0].Title.Caption:='Название маршрута'; DBGrid1.Columns.Items[1].Title.Caption:='Страна'; DBGrid1.Columns.Items[2].Title.Caption:='Название оператора';

for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

end;

procedure TMarshrutForm.Refresh; begin

DM.MarshrutQuery.Close;

DM.MarshrutQuery.Open;

end;

procedure TMarshrutForm.BitBtn1Click(Sender: TObject); begin

RMarshrutForm:=TRMarshrutForm.Create(self);

RMarshrutform.ComboBox1.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='select nazv_op from Turoperator order by nazv_op';

dm.temp.Active:=true; while not dm.temp.Eof do begin

RMarshrutform.ComboBox1.Items.Add(dm.temp.Fields[0].asstring);

dm.temp.Next;

end;

tm:=0;

RMarshrutForm.Caption:=RMarshrutForm.Caption+' : '+MarshrutForm.BitBtn1.Caption;

RMarshrutForm.ShowModal;

end;

procedure TMarshrutForm.BitBtn2Click(Sender: TObject); begin

if dm.MarshrutQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_mar:=dm.MarshrutQuery.Fields[0].AsString; tm:=1;

if accessdb.Update('mar','Marshrut',id_mar)=false then showmessage('Запись используется другим пользователем')

else begin

RMarshrutForm:=TRMarshrutForm.Create(self);

RMarshrutform.ComboBox1.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='select nazv_op from Turoperator order by nazv_op';

dm.temp.Active:=true; while not dm.temp.Eof do begin

RMarshrutform.ComboBox1.Items.Add(dm.temp.Fields[0].asstring);

dm.temp.Next;

end;

rn:=dm.MarshrutQuery.RecNo;

RMarshrutForm.Edit1.Text:=dm.MarshrutQuery.fieldbyname('nazv_mar' ).AsString;

RMarshrutForm.Edit2.Text:=dm.MarshrutQuery.fieldbyname('strana_ma r').AsString;

RMarshrutForm.Combobox1.Text:=dm.MarshrutQuery.fieldbyname('naz v_op').AsString;

47

RMarshrutForm.Caption:=caption+' : '+bitbtn2.Caption; RMarshrutForm.ShowModal;

end;

end;

end;

procedure TMarshrutForm.BitBtn3Click(Sender: TObject); begin

if DM.MarshrutQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_mar:=DM.MarshrutQuery.Fields[0].AsString; tm:=1;

if accessdb.Delete('mar','Marshrut',id_mar)=false then showmessage('Запись используется другим пользователем')

else DM.MarshrutQuery.Requery(); end;

end;

end.

unit RMarshrutUnit;

interface

uses

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

Dialogs, Turoperatorunit, DataModule, StdCtrls, Mask, DBCtrls, ExtCtrls,

ComCtrls, Buttons, accessdb;

type

TRMarshrutForm = class(TForm) Edit1: TEdit;

Edit2: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton;

ComboBox1: TComboBox;

procedure Button2Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure Button1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

RMarshrutForm: TRMarshrutForm;

implementation

{$R *.dfm}

procedure TRMarshrutForm.Button2Click(Sender: TObject); begin

closequery;

end;

procedure TRMarshrutForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin accessdb.Zan('mar','Marshrut',id_mar,tm); Edit1.Clear;Edit2.Clear; combobox1.Clear;

close;

end;

procedure TRMarshrutForm.Button1Click(Sender: TObject); begin

if (Edit1.Text='') OR (Edit2.Text='') OR (combobox1.Text='') then showmessage('Вы не заполнили одно или несколько полей')

else begin

if tm=0 then begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_mar from Marshrut where (nazv_mar="'+Edit1.Text+'")';

dm.temp.Active:=true;

if dm.temp.RecordCount>0 then showmessage('Подобная запись уже существует')

else begin

dm.ADOCommand1.CommandText:='Insert into Marshrut (nazv_mar, strana_mar, id_op) values ("'+Edit1.Text+'","'+Edit2.Text+'",'+id_op+')';

dm.ADOCommand1.Execute;

dm.MarshrutQuery.Requery();

dm.MarshrutQuery.Last;

closequery;

end; end

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_mar from Marshrut where (nazv_mar="'+Edit1.Text+'")';

dm.temp.Active:=true;

if (dm.temp.RecordCount>0) and (id_mar<>dm.temp.Fields[0].asstring) then showmessage('Подобная запись уже существует')

else begin

dm.ADOCommand1.CommandText:='Update Marshrut SET nazv_mar="'+Edit1.Text+'",strana_mar="'+Edit2.Text+'",id_op="'+id_op +'" WHERE (id_mar='+id_mar+')';

dm.ADOCommand1.Execute;

dm.MarshrutQuery.Requery();

closequery;

dm.MarshrutQuery.RecNo:=rn;

end;

end;

end;

end;

procedure TRMarshrutForm.ComboBox1Change(Sender: TObject); begin

dm.temp.active:=false;

dm.temp.CommandText:='Select id_op from Turoperator where (nazv_op="'+combobox1.Text+'")';

dm.temp.active:=true; id_op:=dm.temp.Fields[0].AsString; end;

end.

unit StoimostUnit;

interface

uses

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

Dialogs, Grids, DBGrids, DataModule, StdCtrls, Buttons, accessdb;

type

TStoimostForm = class(TForm) DBGrid1: TDBGrid;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Label1: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label2: TLabel;

Edit1: TEdit; Label4: TLabel;

ComboBox1: TComboBox; Label3: TLabel;

48

procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Refresh;

procedure Edit1Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);

private

{Private declarations } public

{Public declarations } end;

const

Stoimost_SQL='SELECT Stoimost.ID_st, Marshrut.nazv_mar, Stoimost.Data_st, Stoimost.Stoim_st FROM Marshrut INNER JOIN Stoimost ON Marshrut.ID_mar = Stoimost.ID_mar';

var

StoimostForm: TStoimostForm;

implementation

uses RStoimostUnit;

{$R *.dfm}

procedure TStoimostForm.FormCreate(Sender: TObject); var i:integer;

begin //подключение к БД

DM.ADOConnection1.Connected:=true; //очистка текста запроса

DM.StoimostQuery.SQL.Clear;

//формирование запроса

DM.StoimostQuery.SQL.Add(Stoimost_SQL+';');

//исполнение запроса и вывод результата

DM.StoimostQuery.Open; DBGrid1.Columns.Items[0].Title.Caption:='Название маршрута';

DBGrid1.Columns.Items[1].Title.Caption:='Дата, с которой действует стоимость';

DBGrid1.Columns.Items[2].Title.Caption:='Стоимость';

for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

end;

procedure TStoimostForm.Refresh; begin

DM.StoimostQuery.Close;

DM.StoimostQuery.Open;

end;

procedure TStoimostForm.BitBtn1Click(Sender: TObject); begin

RStoimostForm:=TRStoimostForm.Create(self);

RStoimostform.ComboBox1.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='select nazv_mar from Marshrut order by nazv_mar';

dm.temp.Active:=true; while not dm.temp.Eof do begin

RStoimostform.ComboBox1.Items.Add(dm.temp.Fields[0].asstring);

dm.temp.Next;

end;

tm:=0;

RStoimostForm.Caption:=RStoimostForm.Caption+' : '+StoimostForm.BitBtn1.Caption;

RStoimostForm.ShowModal;

end;

procedure TStoimostForm.BitBtn2Click(Sender: TObject); begin

if dm.StoimostQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_st:=dm.StoimostQuery.Fields[0].AsString; tm:=1;

if accessdb.Update('st','Stoimost',id_st)=false then showmessage('Запись используется другим пользователем')

else begin

RStoimostForm:=TRStoimostForm.Create(self);

RStoimostform.ComboBox1.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='select nazv_mar from Marshrut order by nazv_mar';

dm.temp.Active:=true; while not dm.temp.Eof do begin

RStoimostform.ComboBox1.Items.Add(dm.temp.Fields[0].asstring);

dm.temp.Next;

end;

rn:=dm.StoimostQuery.RecNo;

RStoimostForm.Edit1.Text:=dm.StoimostQuery.fieldbyname('stoim_st').

AsString;

RStoimostForm.Combobox1.Text:=dm.StoimostQuery.fieldbyname('naz v_mar').AsString;

RStoimostForm.Caption:=caption+' : '+bitbtn2.Caption; RStoimostForm.ShowModal;

end;

end;

end;

procedure TStoimostForm.BitBtn3Click(Sender: TObject); begin

if DM.StoimostQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_st:=DM.StoimostQuery.Fields[0].AsString; tm:=1;

if accessdb.Delete('st','Stoimost',id_st)=false then showmessage('Запись используется другим пользователем')

else DM.StoimostQuery.Requery(); end;

end;

end.

unit RStoimostUnit;

interface

uses

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

Dialogs, Turoperatorunit, DataModule, StdCtrls, Mask, DBCtrls, ExtCtrls,

ComCtrls, Buttons, accessdb;

type

TRStoimostForm = class(TForm) ComboBox1: TComboBox; DateTimePicker1: TDateTimePicker; Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure BitBtn2Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure ComboBox1Change(Sender: TObject);

procedure BitBtn1Click(Sender: TObject); private

{Private declarations } public

{Public declarations }

end;

var

RStoimostForm: TRStoimostForm;

implementation

{$R *.dfm}

procedure TRStoimostForm.BitBtn2Click(Sender: TObject); begin

closequery;

end;

procedure TRStoimostForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin accessdb.Zan('st','Stoimost',id_st,tm); Edit1.Clear; DateTimePicker1.DateTime:=date; close;

end;

procedure TRStoimostForm.ComboBox1Change(Sender: TObject); begin

dm.temp.active:=false;

dm.temp.CommandText:='Select id_mar from Marshrut where (nazv_mar="'+combobox1.Text+'")';

dm.temp.active:=true; id_mar:=dm.temp.Fields[0].AsString; end;

procedure TRStoimostForm.BitBtn1Click(Sender: TObject); begin

if (Edit1.Text='') OR (combobox1.Text='') then showmessage('Вы не заполнили одно или несколько полей')

else begin

if tm=0 then begin

dm.ADOCommand1.CommandText:='Insert into Stoimost (id_mar, data_st, stoim_st) values ('+id_mar+',"'+datetostr(DateTimePicker1.Date)+'","'+Edit1.Text+'")';

dm.ADOCommand1.Execute;

dm.StoimostQuery.Requery();

dm.StoimostQuery.Last;

closequery; end

else begin

dm.ADOCommand1.CommandText:='Update Stoimost SET id_mar="'+id_mar+'", Data_st="'+datetostr(DateTimePicker1.Date)+'",Stoim_st="'+Edit1.Text+ '" WHERE (id_st='+id_st+')';

dm.ADOCommand1.Execute;

dm.StoimostQuery.Requery();

closequery;

dm.StoimostQuery.RecNo:=rn;

end;

end;

end;

end.

unit KlientUnit;

interface

uses

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

Dialogs, Grids, DBGrids, DataModule, StdCtrls, Buttons, accessdb;

type

TKlientForm = class(TForm) DBGrid1: TDBGrid; BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

49

BitBtn3: TBitBtn;

Label1: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label2: TLabel;

Edit1: TEdit; Label4: TLabel;

ComboBox1: TComboBox; Label3: TLabel;

procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Refresh;

procedure Edit1Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);

private

{Private declarations } public

{Public declarations } end;

const

Klient_SQL='SELECT * FROM Klient ';

var

KlientForm: TKlientForm;

implementation

uses RKlientUnit;

{$R *.dfm}

procedure TKlientForm.FormCreate(Sender: TObject); var i:integer;

begin //подключение к БД

DM.ADOConnection1.Connected:=true; //очистка текста запроса

DM.KlientQuery.SQL.Clear;

//формирование запроса

DM.KlientQuery.SQL.Add(Klient_SQL+';');

//исполнение запроса и вывод результата

DM.KlientQuery.Open; DBGrid1.Columns.Items[0].Title.Caption:='Фамилия';

DBGrid1.Columns.Items[1].Title.Caption:='Имя'; DBGrid1.Columns.Items[2].Title.Caption:='Отчество'; DBGrid1.Columns.Items[3].Title.Caption:='Серия и номер паспорта';

DBGrid1.Columns.Items[4].Title.Caption:='Адрес';

DBGrid1.Columns.Items[5].Title.Caption:='Телефон';

for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

end;

procedure TKlientForm.Refresh; begin

DM.KlientQuery.Close;

DM.KlientQuery.Open;

end;

procedure TKlientForm.BitBtn1Click(Sender: TObject); begin

tm:=0;

RKlientForm:=TRKlientForm.Create(self); RKlientForm.Caption:=RKlientForm.Caption+' : '+KlientForm.BitBtn1.Caption;

RKlientForm.ShowModal;

end;

procedure TKlientForm.BitBtn2Click(Sender: TObject); begin

if dm.KlientQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_kl:=dm.KlientQuery.Fields[0].AsString;

50

tm:=1;

if accessdb.Update('kl','Klient',id_kl)=false then showmessage('Запись используется другим пользователем')

else begin

RKlientForm:=TRKlientForm.Create(self);

rn:=dm.KlientQuery.RecNo;

RKlientForm.Edit1.Text:=dm.KlientQuery.fieldbyname('fam_kl').AsStrin g;

RKlientForm.Edit2.Text:=dm.KlientQuery.fieldbyname('imya_kl').AsStri ng;

RKlientForm.Edit3.Text:=dm.KlientQuery.fieldbyname('otch_kl').AsStri ng;

RKlientForm.Edit4.Text:=dm.KlientQuery.fieldbyname('sernompas_kl').

AsString;

RKlientForm.Edit5.Text:=dm.KlientQuery.fieldbyname('adres_kl').AsStri ng;

RKlientForm.Edit6.Text:=dm.KlientQuery.fieldbyname('tel_kl').AsString

;

RKlientForm.Caption:=caption+' : '+bitbtn2.Caption; RKlientForm.ShowModal;

end;

end;

end;

procedure TKlientForm.BitBtn3Click(Sender: TObject); begin

if DM.KlientQuery.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_kl:=DM.KlientQuery.Fields[0].AsString; tm:=1;

if accessdb.Delete('kl','Klient',id_kl)=false then showmessage('Запись используется другим пользователем')

else DM.KlientQuery.Requery(); end;

end;

end.

unit RKlientUnit;

interface

uses

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

Dialogs, Klientunit, DataModule, StdCtrls, Mask, DBCtrls, ExtCtrls, ComCtrls, Buttons, accessdb;

type

TRKlientForm = class(TForm) BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label6: TLabel;

Label7: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit;

procedure BitBtn2Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations } end;

var

RKlientForm: TRKlientForm;

implementation

{$R *.dfm}

procedure TRKlientForm.BitBtn2Click(Sender: TObject); begin

closequery;

end;

procedure TRKlientForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin accessdb.Zan('kl','Klient',id_kl,tm);

Edit1.Clear;Edit2.Clear;Edit3.Clear;Edit4.Clear;

Edit5.Clear;Edit6.Clear;

close;

end;

procedure TRKlientForm.BitBtn1Click(Sender: TObject); begin

if (Edit1.Text='') OR (Edit2.Text='') OR (Edit3.Text='') OR (Edit4.Text='') OR (Edit5.Text='') OR (Edit6.Text='') then showmessage('Вы не заполнили одно или несколько полей')

else begin

if tm=0 then begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_kl from Klient where (sernompas_kl="'+Edit4.Text+'")';

dm.temp.Active:=true;

if dm.temp.RecordCount>0 then showmessage('Подобная запись уже существует')

else begin

dm.ADOCommand1.CommandText:='Insert into Klient (fam_kl, imya_kl, otch_kl, sernompas_kl, adres_kl, tel_kl) values ("'+Edit1.Text+'","'+Edit2.Text+'","'+Edit3.Text+'","'+Edit4.Text+'","'+E dit5.Text+'","'+Edit6.Text+'")';

dm.ADOCommand1.Execute;

dm.KlientQuery.Requery();

dm.KlientQuery.Last;

closequery;

end; end

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_kl from Klient where (sernompas_kl="'+Edit4.Text+'")';

dm.temp.Active:=true;

if (dm.temp.RecordCount>0) and (id_kl<>dm.temp.Fields[0].asstring)

then showmessage('Подобная запись уже существует')

 

else

 

 

 

begin

 

 

 

dm.ADOCommand1.CommandText:='Update

Klient

SET

fam_kl="'+Edit1.Text+'",

imya_kl="'+Edit2.Text+'",

otch_kl="'+Edit3.Text+'",

sernompas_kl="'+Edit4.Text+'",

adres_kl="'+Edit5.Text+'",

tel_kl="'+Edit6.Text+'"

WHERE

(id_kl='+id_kl+')'; dm.ADOCommand1.Execute; dm.KlientQuery.Requery(); closequery; dm.KlientQuery.RecNo:=rn; end;

end;

end;

end;

end.

51

unit PutevkaUnit;

interface

uses

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

Dialogs, Grids, DBGrids, DataModule, StdCtrls, Buttons, accessdb;

type

TPutevkaForm = class(TForm) DBGrid1: TDBGrid; BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn; DBGrid2: TDBGrid; BitBtn4: TBitBtn; BitBtn5: TBitBtn; BitBtn6: TBitBtn; Label1: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton; Label2: TLabel;

Label3: TLabel;

Label4: TLabel; ComboBox1: TComboBox; Edit1: TEdit;

procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn);

procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure BitBtn4Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject); procedure Refresh;

procedure Edit1Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);

private

{Private declarations } public

{Public declarations } end;

var

PutevkaForm: TPutevkaForm;

implementation

uses RPutevkaUnit, ROplataUnit;

{$R *.dfm}

procedure TPutevkaForm.FormCreate(Sender: TObject); var i:integer;

begin //подключение к БД

DM.ADOConnection1.Connected:=true; //очистка текста запроса

DM.PutevkaQuery.SQL.Clear;

//формирование запроса

DM.PutevkaQuery.SQL.Add('SELECT Putevka.ID_put, Putevka.nomer_put, Klient.fam_kl, Klient.sernompas_kl, Marshrut.nazv_mar, Turoperator.nazv_op, Putevka.stoim_put, Putevka.dataoplaty_put');

DM.PutevkaQuery.SQL.Add('FROM Turoperator INNER JOIN ((Marshrut INNER JOIN (Klient INNER JOIN Putevka ON Klient.ID_kl = Putevka.ID_kl) ON Marshrut.ID_mar = Putevka.ID_mar) INNER JOIN Stoimost ON Marshrut.ID_mar = Stoimost.ID_mar) ON '); DM.PutevkaQuery.SQL.Add('Turoperator.ID_op = Marshrut.ID_op GROUP BY Putevka.ID_put, Putevka.nomer_put, Klient.fam_kl, Klient.sernompas_kl, Marshrut.nazv_mar, Turoperator.nazv_op, Putevka.stoim_put, Putevka.dataoplaty_put;');

//исполнение запроса и вывод результата

Соседние файлы в папке Курсовые работы