Курсовые работы / ПРИС П _27
.pdfbegin |
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;');
//исполнение запроса и вывод результата