Автоматизація ведення бази даних індивідуальних програм реабілітації інвалідів

Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 12.10.2015
Размер файла 4,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Рисунок А.6 - Довідник ступенів обмежень

Рисунок А.7 - Фрагмент довідника реабілітаційних заходів

Рисунок А.8 - Довідник реабілітаційних потенціалів

Рисунок А.9 - Довідник цілей реабілітації

Приклад заповненої таблиці інформації про пацієнта приведено на рисунку А.10. Ця таблиця заповнюється в процесі користування програмою і приведена лише для ознайомлення.

Рисунок А.10 - Таблиця інформації про пацієнта

Додаток Б

Лістинг програми

Лістинг Б.1 - Текст програми

//Текст модуля Main, головна форма

unit Main;

procedure TMainForm.m_exitClick(Sender: TObject);

begin

Close();

end;

procedure TMainForm.m_aboutClick(Sender: TObject);

begin

if (not Assigned(AboutForm)) then

AboutForm:=TAboutForm.Create(Self);

AboutForm.ShowModal();

end;

procedure TMainForm.tb_view_iprClick(Sender: TObject);

begin

if (not Assigned(FormIPRView)) then

FormIPRView:=TFormIPRView.Create(Self);

FormIPRView.showModal();

end;

procedure TMainForm.m_add_iprClick(Sender: TObject);

begin

if (not Assigned(FormAddIPR)) then

Application.CreateForm(TFormAddIPR, FormAddIPR);

if DataModule1.IBQuery3.RecordCount>0 then

begin

FormAddIPR.fio.Text:= DataModule1.IBQuery3.fieldbyname('fio').Value;

FormAddIPR.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;

FormAddIPR.Tag:=11;

FormAddIPR.ShowModal();

end;

end;

procedure TMainForm.m_zmin_korClick(Sender: TObject);

begin

if (not Assigned(FormRedPas)) then

FormRedPas:=TFormRedPas.Create(Self);

FormRedPas.ShowModal();

end;

procedure TMainForm.m_poiskClick(Sender: TObject);

begin

if (Panel_Poshuk.Visible=true) then Panel_Poshuk.Visible:=false

else begin if (Panel_Poshuk.Visible=false) then Panel_Poshuk.Visible:=true; end;

end;

procedure TMainForm.FormCreate(Sender: TObject);

begin

if DataModule1.Tag=1 then

begin

DBGrid_Inf.DataSource:=Datamodule1.DataSource3;

if (not Assigned(FormAvtoriz)) then Application.CreateForm(TFormAvtoriz, FormAvtoriz);

DataModule1.IBQuery3.Last;

StatusBar1.Panels[0].Text := 'Кількість пацієнтів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

c_osv.Clear;

c_sex.Clear;

c_gr.Clear;

c_obl.Clear;

DataModule1.IBQuery_osvita.Active:=true;

while not DataModule1.IBQuery_osvita.Eof do

Begin

c_osv.Items.Add(DataModule1.IBQuery_osvita.Fields[1].Value);

DataModule1.IBQuery_osvita.Next;

end;

DataModule1.IBQuery_sex.Active:=true;

while not DataModule1.IBQuery_sex.Eof do

Begin

c_sex.Items.Add(DataModule1.IBQuery_sex.Fields[1].Value);

DataModule1.IBQuery_sex.Next;

end;

DataModule1.IBQuery_gr.Active:=true;

while not DataModule1.IBQuery_gr.Eof do

Begin

c_gr.Items.Add(DataModule1.IBQuery_gr.Fields[1].Value);

DataModule1.IBQuery_gr.Next;

end;

DataModule1.IBQuery_obl.Active:=true;

while not DataModule1.IBQuery_obl.Eof do

Begin

c_obl.Items.Add(DataModule1.IBQuery_obl.Fields[1].Value);

DataModule1.IBQuery_obl.Next;

end;

end;

end;

procedure TMainForm.m_add_pacClick(Sender: TObject);

begin

if (not Assigned(FormAddPacient)) then

Application.CreateForm(TFormAddPacient, FormAddPacient);

FormAddPacient.ShowModal();

end;

procedure TMainForm.pop_delClick(Sender: TObject);

var

id:string;

begin

id:=DataModule1.IBQuery3.FieldByName('id_chel').Value;

DataModule1.IBTable_Os.Active:=true;

DataModule1.IBTable_Os.Locate('id_chel',id, []);

if Application.MessageBox('Ви дійсно бажаєте видалити цей запис? Це також видалить всі зв`язані з ним дані по ІПР','Увага!',mb_YesNo+mb_Iconquestion)=idYes then

begin

DataModule1.IBTable_Os.Delete;

end;

DataModule1.IBQuery3.Active:=false;

DataModule1.IBQuery3.Active:=true;

DataModule1.IBQuery3.Last;

StatusBar1.Panels[0].Text := 'Кількість пацієнтів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

procedure TMainForm.tb_excelClick(Sender: TObject);

var

ExcelApp: variant;

i: integer;

s:string;

begin

ExcelApp:=CreateOleObject('Excel.Application');

ExcelApp.Visible := false;

ExcelApp.Application.EnableEvents:=False;

ExcelApp.Workbooks.Open('E:\Diplom\1.xlsx', UpdateLinks:=0);

ExcelApp.ActiveWorkBook.Sheets.Item[1].Activate;

s:=Trim(DataModule1.IBQuery3.FieldByName('fio').AsString);

s:='E:\'+s+'.xls';

ExcelApp.ActiveWorkbook.SaveAs(s, FileFormat:=-4143, Password:='', WriteResPassword:='', ReadOnlyRecommended:=false, CreateBackup:=false);

ExcelApp.Workbooks.Close;

ExcelApp.Workbooks.Open(s, UpdateLinks:=0);

with DataModule1 do begin

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[20,2]:=DataModule1.IBQuery3.FieldByName('fio').AsString;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[22,5]:=DataModule1.IBQuery3.FieldByName('dr').AsString;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[26,3]:=DataModule1.IBQuery3.FieldByName('tel').AsString;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[30,6]:=DataModule1.IBQuery3.FieldByName('work').AsString;

i:=DataModule1.IBQuery3.FieldByName('sex').AsInteger;

DataModule1.IBTable_Sex.Locate('id_sex',i,[]);

s:=DataModule1.IBTable_Sex.Fields[1].Value;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[23,3]:=s;

i:=DataModule1.IBQuery3.FieldByName('osvita').AsInteger;

DataModule1.IBQuery_osvita.Locate('id_osvita',i,[]);

s:=DataModule1.IBQuery_osvita.Fields[1].Value;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[28,4]:=s;

i:=DataModule1.IBQuery3.FieldByName('gr_inv').AsInteger;

DataModule1.ibquery_gr.Locate('id_gr_inv',i,[]);

s:=DataModule1.ibquery_gr.Fields[1].Value;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[32,5]:=s;

i:=DataModule1.IBQuery3.FieldByName('punkt').AsInteger;

DataModule1.IBQuery_nas_punkt.Locate('id_nas_punkt',i,[]);

s:=DataModule1.IBQuery_nas_punkt.Fields[1].Value;

ExcelApp.ActiveWorkbook.WorkSheets[1].Cells[24,5]:=s;

end;

ExcelApp.Visible:=True;

ExcelApp.Workbooks.Close;

ExcelApp := Unassigned;

end;

procedure TMainForm.DBGrid_InfTitleClick(Column: TColumn);

var

i:integer;

begin

with DataModule1.IBQuery3 do begin

Active:=false;

StatusBar1.Panels[2].Text := '';

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('ORDER BY '+ Column.FieldName);

Open;

Active:=true;

end;

for i:=0 to DBGrid_Inf.Columns.Count-1 do

begin

DBGrid_Inf.Columns.Items[i].Color:=clWhite;

end;

for i:=0 to DBGrid_Inf.Columns.Count-1 do

begin

if DBGrid_Inf.Columns.Items[i].DisplayName=Column.FieldName then

begin

DBGrid_Inf.Columns.Items[i].Color:=clSkyBlue;

end;

end;

end;

procedure TMainForm.BitBtn_filtrClick(Sender: TObject);

begin

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.dr> :D1 and os.dr< :D2');

Params.ParamByName('D1').AsDate:=Datetimepicker1.Date;

Params.ParamByName('D2').AsDate:=Datetimepicker2.Date;

Open;

end;

StatusBar1.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

procedure TMainForm.pop_add_iprClick(Sender: TObject);

begin

if ((DataModule1.IBQuery3.RecordCount>0) and (DataModule1.IBQuery3.RecNo>0)) then

begin

if (not Assigned(FormAddIPR)) then

FormAddIPR:=TFormAddIPR.Create(Self);

FormAddIPR.fio.Text:= DataModule1.IBQuery3.fieldbyname('fio').Value;

FormAddIPR.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;

FormAddIPR.Tag:=11;

FormAddIPR.ShowModal();

end;

end;

procedure TMainForm.pop_add_pacClick(Sender: TObject);

begin

if (not Assigned(FormAddPacient)) then

FormAddPacient:=TFormAddPacient.Create(Self);

FormAddPacient.ShowModal();

end;

procedure TMainForm.m_konfClick(Sender: TObject);

begin

if (not Assigned(FormNastr)) then

FormNastr:=TFormNastr.Create(Self);

FormNastr.ShowModal();

end;

procedure TMainForm.tb_add_pacClick(Sender: TObject);

begin

if (not Assigned(FormAddPacient)) then

FormAddPacient:=TFormAddPacient.Create(Self);

FormAddPacient.ShowModal();

end;

procedure TMainForm.m_diagnozClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet1.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[0];

FormDovidnik.PageControl1.Pages[0].Caption:='Дігнози МКХ';

DataModule1.IBQuery_mkh.Active:=true;

FormDovidnik.DBGrid8.DataSource:=DataModule1.ds_mkh;

FormDovidnik.Tag:=1;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_mkhClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet1.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[0];

FormDovidnik.PageControl1.Pages[0].Caption:='Супутні захворювання МКХ-10';

DataModule1.IBQuery_mkh10.Active:=true;

FormDovidnik.DBGrid8.DataSource:=DataModule1.ds_mkh10;

FormDovidnik.Tag:=2;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_profClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Професії';

DataModule1.IBQuery_prof.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_prof;

FormDovidnik.Tag:=3;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_terminClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Терміни реабілітації';

DataModule1.IBQuery_termin.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_termin;

FormDovidnik.Tag:=4;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_obClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Обсяги реабілітації';

DataModule1.IBQuery_obsjag.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_obsjag;

FormDovidnik.Tag:=5;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_miscClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Місця реабілітації';

DataModule1.IBQuery_misce.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_misce;

FormDovidnik.Tag:=6;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_pracClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Працівники МСЕК';

DataModule1.IBQuery_prac.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_prac;

FormDovidnik.Tag:=7;

FormDovidnik.ShowModal();

end;

procedure TMainForm.pop_redClick(Sender: TObject);

begin

if (not Assigned(FormRedpac)) then

FormRedpac:=TFormRedpac.Create(Self);

FormRedpac.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;

FormRedpac.ShowModal();

end;

procedure TMainForm.BitBtn_cancelClick(Sender: TObject);

var

i:integer;

begin

for i:=0 to DBGrid_Inf.Columns.Count-1 do

begin

DBGrid_Inf.Columns.Items[i].Color:=clWhite;

end;

c_gr.ItemIndex:=-1;

c_obl.ItemIndex:=-1;

c_osv.ItemIndex:=-1;

c_sex.ItemIndex:=-1;

fio.Clear;

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

Open;

end;

StatusBar1.Panels[2].Text :='';

end;

procedure TMainForm.c_sexChange(Sender: TObject);

var

s:string;

begin

c_gr.ItemIndex:=-1;

c_obl.ItemIndex:=-1;

c_osv.ItemIndex:=-1;

fio.Clear;

s:=Trim(c_sex.Text);

DataModule1.ibtable_sex.Locate('sex',s,[]);

s:=DataModule1.ibtable_sex.FieldByName('id_sex').Value;

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.SEX='+s);

Open;

StatusBar1.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

end;

procedure TMainForm.m_r_oblClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Райони області';

DataModule1.IBQuery_r_obl.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_r_obl;

FormDovidnik.Tag:=8;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_oblClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Oбласті';

DataModule1.IBQuery_obl.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_obl;

FormDovidnik.Tag:=9;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_nas_punktClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Населений пункт';

DataModule1.IBQuery_nas_punkt.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_punkt;

FormDovidnik.Tag:=10;

FormDovidnik.ShowModal();

end;

procedure TMainForm.m_r_punktClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet2.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];

FormDovidnik.PageControl1.Pages[1].Caption:='Райони населеного пункту';

DataModule1.IBQuery_rajon.Active:=true;

FormDovidnik.DBGrid7.DataSource:=DataModule1.ds_rajon;

FormDovidnik.Tag:=11;

FormDovidnik.ShowModal();

end;

procedure TMainForm.c_grChange(Sender: TObject);

var

s:string;

begin

c_obl.Text:='';

c_osv.Text:='';

c_sex.Text:='';

fio.Clear;

s:=Trim(c_gr.Text);

DataModule1.ibquery_gr.Locate('gr_inv',s,[]);

s:=DataModule1.ibquery_gr.FieldByName('id_gr_inv').Value;

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.gr_inv='+s);

Open;

StatusBar1.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

end;

procedure TMainForm.c_osvChange(Sender: TObject);

var

s:string;

begin

c_gr.ItemIndex:=-1;

c_obl.ItemIndex:=-1;

c_sex.ItemIndex:=-1;

fio.Clear;

s:=Trim(c_osv.Text);

DataModule1.IBQuery_osvita.Locate('osvita',s,[]);

s:=DataModule1.IBQuery_osvita.FieldByName('id_osvita').Value;

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.osvita='+s);

Open;

StatusBar1.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

end;

procedure TMainForm.c_oblChange(Sender: TObject);

var

s:string;

begin

c_gr.ItemIndex:=-1;

c_osv.ItemIndex:=-1;

c_sex.ItemIndex:=-1;

fio.Clear;

s:=Trim(c_obl.Text);

DataModule1.IBQuery_obl.Locate('obl',s,[]);

s:=DataModule1.IBQuery_obl.FieldByName('id_obl').Value;

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.obl='+s);

Open;

StatusBar1.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);

end;

end;

procedure TMainForm.fioChange(Sender: TObject);

begin

with DataModule1.IBQuery3 do begin

Close;

SQL.Clear;

SQL.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');

SQL.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');

SQL.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');

SQL.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');

SQL.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');

SQL.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');

SQL.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');

SQL.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');

SQL.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');

SQL.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');

SQL.Add('WHERE os.fio LIKE '''+fio.Text+'%'';');

Open;

end;

end;

procedure TMainForm.FormActivate(Sender: TObject);

begin

StatusBar1.Panels[2].Text:='Сьогодні '+DatetoStr(now);

if FormAvtoriz.tag=1 then

begin

StatusBar1.Panels[1].Text:='В системі: Адміністратор';

MainMenu1.Items[0].Items[0].Enabled:=true;

MainMenu1.Items[3].Enabled:=true;

tb_add_pac.Enabled:=true;

tb_red_pac.Enabled:=true;

pop_add_pac.Enabled:=true;

pop_add_ipr.Enabled:=true;

pop_red.Enabled:=true;

pop_del.Enabled:=true;

end

else

begin

if FormAvtoriz.tag=2 then

begin

StatusBar1.Panels[1].Text:='В системі: Гість';

MainMenu1.Items[0].Items[0].Enabled:=false;

MainMenu1.Items[1].Enabled:=false;

MainMenu1.Items[3].Enabled:=false;

tb_add_pac.Enabled:=false;

tb_red_pac.Enabled:=false;

pop_add_pac.Enabled:=false;

pop_add_ipr.Enabled:=false;

pop_red.Enabled:=false;

pop_del.Enabled:=false;

end;

end;

end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if Assigned(FormAvtoriz) then FormAvtoriz.Close();

if Assigned(FormAddIPR) then FormAddIPR.Close;

end;

procedure TMainForm.m_exClick(Sender: TObject);

begin

FormAvtoriz.tag:=3;

MainForm.visible:=false;

FormAvtoriz.Visible:=true;

end;

procedure TMainForm.tb_red_pacClick(Sender: TObject);

begin

if ((DataModule1.IBQuery3.RecordCount>0) and (DataModule1.IBQuery3.RecNo>0)) then

begin

if (not Assigned(FormRedpac)) then

FormRedpac:=TFormRedpac.Create(Self);

FormRedpac.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;

FormRedpac.ShowModal();

end;

end;

procedure TMainForm.m_pathClick(Sender: TObject);

begin

if (not Assigned(Formpath)) then

Formpath:=TFormpath.Create(Self);

Formpath.ShowModal();

end;

end.

//Текст модуля AddDovMKH

unit AddDovMKH;

procedure TFormAddDovMKH.m_cancelClick(Sender: TObject);

begin

Close();

end;

procedure TFormAddDovMKH.m_addClick(Sender: TObject);

var

id:string;

s1,s2:string;

begin

if FormDovidnik.Tag=1 then

begin

if (edit1.Text<>'')and(edit2.Text<>'') then

begin

with DataModule1.IBQuery do begin

Close;

s1:=edit1.Text;

System.Delete(s1,55,100);

s2:=edit2.Text;

System.Delete(s2,10,100);

SQL.Clear;

SQL.Add('INSERT INTO SPR_Diagnoz(diagnoz, kod_diagnozu, id_diagnoz)');

SQL.Add('VALUES(:diagnoz, :kod_diagnozu, gen_id(GEN_SPR_Diagnoz_ID,1))');

ParamByName('diagnoz').Value:=s1;

ParamByName('kod_diagnozu').Value:=s2;

try

ExecSQL;

showmessage('Дані записано');

Except

showmessage('Не вдалося додати запис.');

end;

end;

DataModule1.IBQuery_mkh.Active:=false;

DataModule1.IBQuery_mkh.Active:=true;

DataModule1.IBQuery_prof.Active:=true;

if Assigned(FormAddIPR) then

begin

with DataModule1 do begin

FormAddIPR.diagnoz.Clear;

IBQuery_mkh.close();

IBQuery_mkh.open();

IBQuery_mkh.first();

while not(IBQuery_mkh.eof) do

begin

FormAddIPR.diagnoz.items.add(Trim(IBQuery_mkh.fieldbyname('diagnoz').asstring));

IBQuery_mkh.next;

end;

IBQuery_mkh.first();

end;

end;

end

else Application.MessageBox('Ви заповнили не всі поля','Увага!',MB_OK+MB_Iconerror)

end

...

else if FormDovidnik.Tag=14 then

begin

with DataModule1.IBQuery do begin

if (edit1.Text<>'')and(edit2.Text<>'') then begin

Close;

id:=IntToStr(DataModule1.IBQuery_mkh10.fieldbyname('id_mkh_10').Value);

SQL.Clear;

s1:=edit1.Text;

System.Delete(s1,55,100);

s2:=edit2.Text;

System.Delete(s2,10,100);

SQL.Add('UPDATE SPR_MKH_10 SET MKH_10=:MKH_10, KOD_MKH=:KOD_MKH WHERE ID_MKH_10='+id);

ParamByName('MKH_10').Value:=s1;

ParamByName('KOD_MKH').Value:=s2;

try

ExecSQL;

Application.MessageBox('Дані перезаписано','Увага!',MB_OK+MB_Iconinformation);

Except

Application.MessageBox('Не вдалося відредагувати запис','Увага!',MB_OK+MB_Iconerror);

end;

end

else Application.MessageBox('Ви заповнили не всі поля','Увага!',MB_OK+MB_Iconerror)

end;

DataModule1.IBQuery_mkh10.Active:=false;

DataModule1.IBQuery_mkh10.Active:=true;

DataModule1.IBQuery_prof.Active:=true;

if Assigned(FormAddIPR) then

begin

with DataModule1 do begin

FormAddIPR.s_zah.Clear;

ibquery_mkh10.close();

ibquery_mkh10.open();

ibquery_mkh10.first();

while not(ibquery_mkh10.eof) do

begin

FormAddIPR.s_zah.items.add(Trim(ibquery_mkh10.fieldbyname('mkh_10').asstring));

ibquery_mkh10.next;

end;

ibquery_mkh10.first();

end;

end;

end;

close();

Edit1.Clear;

Edit2.Clear;

end;

procedure TFormAddDovMKH.FormActivate(Sender: TObject);

begin

edit1.Clear;

edit2.Clear;

if FormDovidnik.Tag=13 then

begin

edit1.Text:=Trim(DataModule1.IBQuery_mkh.fieldbyname('DIAGNOZ').Value);

edit2.Text:=Trim(DataModule1.IBQuery_mkh.fieldbyname('KOD_DIAGNOZU').Value);

end

else

begin

if FormDovidnik.Tag=14 then

begin

edit1.Text:=Trim(DataModule1.IBQuery_mkh10.fieldbyname('MKH_10').Value);

edit2.Text:=Trim(DataModule1.IBQuery_mkh10.fieldbyname('KOD_MKH').Value);

end;

end;

end;

end.

//Текст модуля AddDov

unit AddDov;

procedure TFormAddDov.m_addClick(Sender: TObject);

var

id,s:string;

begin

if FormDovidnik.Tag=3 then

begin

if Edit1.Text<>'' then

begin

with DataModule1.IBQuery do begin

Close;

SQL.Clear;

s:=edit1.Text;

System.Delete(s,30,100);

SQL.Add('INSERT INTO SPR_Prof(prof, id_prof)');

SQL.Add('VALUES(:prof, gen_id(GEN_SPR_Prof_ID,1))');

ParamByName('prof').Value:=s;

try

ExecSQL;

Application.MessageBox('Дані записано','Увага!',MB_OK+MB_Iconinformation);

Except

Application.MessageBox('Не вдалося додати запис','Увага!',MB_OK+MB_Iconerror);

end;

end;

DataModule1.IBQuery_prof.Active:=false;

DataModule1.IBQuery_prof.Active:=true;

DataModule1.IBQuery_prof.Active:=true;

with DataModule1 do

begin

if Assigned(FormAddpacient) then

begin

FormAddpacient.c_prof.Clear;

if not(ibquery_prof.active) then ibquery_prof.open();

ibquery_prof.first();

while not(ibquery_prof.eof) do

begin

FormAddpacient.c_prof.items.add(Trim(ibquery_prof.fieldbyname('PROF').asstring));

ibquery_prof.next;

end;

ibquery_prof.first();

end

else if Assigned(FormRedPac) then

begin

FormRedPac.c_prof.Clear;

if not(ibquery_prof.active) then ibquery_prof.open();

ibquery_prof.first();

while not(ibquery_prof.eof) do

begin

FormRedPac.c_prof.items.add(Trim(ibquery_prof.fieldbyname('PROF').asstring));

ibquery_prof.next;

end;

ibquery_prof.first();

end;

end;

end

else Application.MessageBox('Ви не заповнили поле','Увага!',MB_OK+MB_Iconerror)

end

else if FormDovidnik.Tag=23 then

begin

with DataModule1.IBQuery do begin

Close;

if Edit1.Text<>'' then begin

id:=IntToStr(DataModule1.IBQuery_rajon.fieldbyname('ID_RAJON').Value);

SQL.Clear;

s:=edit1.Text;

System.Delete(s,40,100);

SQL.Add('UPDATE SPR_RAJON SET RAJON=:RAJON WHERE ID_RAJON='+id);

ParamByName('RAJON').Value:=s;

try

ExecSQL;

Application.MessageBox('Дані перезаписано','Увага!',MB_OK+MB_Iconinformation);

Except

Application.MessageBox('Не вдалося відредагувати запис','Увага!',MB_OK+MB_Iconerror);

end;

end

else Application.MessageBox('Ви не заповнили поле','Увага!',MB_OK+MB_Iconerror);

end;

DataModule1.IBQuery_rajon.Active:=false;

DataModule1.IBQuery_rajon.Active:=true;

DataModule1.IBQuery_prof.Active:=true;

with DataModule1 do

begin

if Assigned(FormAddpacient) then

begin

FormAddpacient.c_r_nas_punkt.Clear;

if not(ibquery_rajon.active) then ibquery_rajon.open();

ibquery_rajon.first();

while not(ibquery_rajon.eof) do

begin

FormAddpacient.c_r_nas_punkt.items.add(ibquery_rajon.fieldbyname('RAJON').asstring);

ibquery_rajon.next;

end;

ibquery_rajon.first();

end

else if Assigned(FormRedPac) then

begin

FormRedpac.c_r_nas_punkt.Clear;

if not(ibquery_rajon.active) then ibquery_rajon.open();

ibquery_rajon.first();

while not(ibquery_rajon.eof) do

begin

FormRedpac.c_r_nas_punkt.items.add(ibquery_rajon.fieldbyname('RAJON').asstring);

ibquery_rajon.next;

end;

ibquery_rajon.first();

end;

end;

end;

Close();

Edit1.Clear;

end;

procedure TFormAddIPR.FormActivate(Sender: TObject);

var

s:integer;

sovpadenie:boolean;

begin

if FormAddIPR.tag=11 then

begin

sovpadenie:=false;

with datamodule1 do begin

datamodule1.IBQuery_ipr_skl.active:=true;

IBQuery_ipr.first;

while not IBQuery_ipr.eof do

begin

if IBQuery_ipr.FieldByName('id_chel').Value=fio.Tag then sovpadenie:=true;

IBQuery_ipr.Next;

end;

end;

n_pr.Text:='';

msek.Text:='';

edit3.Text:='';

r_potencial.ItemIndex:=-1;

pr_skl.ItemIndex:=-1;

s_zah.ItemIndex:=-1;

meta.ItemIndex:=-1;

diagnoz.ItemIndex:=-1;

c_prac.ItemIndex:=-1;

r_potencial.Clear;

pr_skl.Clear;

s_zah.Clear;

meta.Clear;

diagnoz.Clear;

c_prac.Clear;

sp_prac.Visible:=false;

sp_diagnoz.Visible:=false;

sp_mkh.Visible:=false;

memo1.Clear;

...

memo18.Clear;

end;

with DataModule1 do

begin

ibquery5.close();

ibquery5.Open();

ibquery5.first();

dblistbox1.Clear;

while not(ibquery5.eof) do

begin

dblistbox1.items.add(Trim(ibquery5.fieldbyname('VID_OBMEJ').asstring));

ibquery5.next;

end;

ibquery5.first();

msek.Text:='Обласна №3';

DateTimepicker1.DateTime:=now();

DateTimepicker2.DateTime:=now();

DateTimepicker3.DateTime:=now();

ibquery_mkh10.close();

ibquery_mkh10.open();

ibquery_mkh10.first();

while not(ibquery_mkh10.eof) do

begin

s_zah.items.add(Trim(ibquery_mkh10.fieldbyname('mkh_10').asstring));

ibquery_mkh10.next;

end;

ibquery_mkh10.first();

IBQuery_ipr_skl.close();

IBQuery_ipr_skl.open();

IBQuery_ipr_skl.first();

while not(IBQuery_ipr_skl.eof) do

begin

pr_skl.items.add(Trim(IBQuery_ipr_skl.fieldbyname('prog_skl').asstring));

IBQuery_ipr_skl.next;

end;

IBQuery_ipr_skl.first();

if sovpadenie=true then

begin

datamodule1.IBQuery_ipr_skl.Last;

pr_skl.ItemIndex:=(datamodule1.IBQuery_ipr_skl.fieldbyname('id_prog_skl').value-1);

pr_skl.Tag:=(datamodule1.IBQuery_ipr_skl.fieldbyname('id_prog_skl').value);

end

else

begin

datamodule1.IBQuery_ipr_skl.First;

pr_skl.ItemIndex:=(datamodule1.IBQuery_ipr_skl.fieldbyname('id_prog_skl').value-1);

pr_skl.Tag:=(datamodule1.IBQuery_ipr_skl.fieldbyname('id_prog_skl').value);

end;

IBQuery_r_potencial.close();

IBQuery_r_potencial.open();

IBQuery_r_potencial.first();

while not(IBQuery_r_potencial.eof) do

begin

r_potencial.items.add(Trim(IBQuery_r_potencial.fieldbyname('r_potencial').asstring));

IBQuery_r_potencial.next;

end;

IBQuery_r_potencial.first();

IBQuery_mkh.close();

IBQuery_mkh.open();

IBQuery_mkh.first();

while not(IBQuery_mkh.eof) do

begin

diagnoz.items.add(Trim(IBQuery_mkh.fieldbyname('diagnoz').asstring));

IBQuery_mkh.next;

end;

IBQuery_mkh.first();

IBQuery_prac.close();

IBQuery_prac.open();

IBQuery_prac.first();

while not(IBQuery_prac.eof) do

begin

c_prac.items.add(Trim(IBQuery_prac.fieldbyname('sotrudnic').asstring));

IBQuery_prac.next;

end;

IBQuery_prac.first();

IBQuery_meta.close();

IBQuery_meta.open();

IBQuery_meta.first();

while not(IBQuery_meta.eof) do

begin

meta.items.add(Trim(IBQuery_meta.fieldbyname('meta').asstring));

IBQuery_meta.next;

end;

IBQuery_meta.first();

end;

if FormAddIPR.tag=22 then

begin

DataModule1.ibquery5.close();

DataModule1.ibquery5.Open();

sp_prac.Visible:=true;

sp_diagnoz.Visible:=true;

sp_mkh.Visible:=true;

with DataModule1 do

begin

fio.Text:=Trim(IBQuery_ipr.fieldbyname('fio').Value);

if not IBQuery_ipr_skl.active then IBQuery_ipr_skl.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('id_prog_skl').Value;

DataModule1.IBQuery_ipr_skl.Locate('id_prog_skl',s, []);

pr_skl.Text:=Trim(IBQuery_ipr.fieldbyname('prog_skl').Value);

pr_skl.Tag:=DataModule1.IBQuery_ipr.Fieldbyname('id_prog_skl').Value;

if not IBQuery_mkh.active then IBQuery_mkh.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('id_diagnoz').Value;

diagnoz.Tag:=s;

DataModule1.IBQuery_mkh.Locate('id_diagnoz',s, []);

diagnoz.Text:=Trim(IBQuery_mkh.fieldbyname('diagnoz').Value);

if not IBQuery_mkh10.active then IBQuery_mkh10.active:=true;

s:=DataModule1.IBQuery_ipr.Fieldbyname('suput_zahv').Value;

DataModule1.IBQuery_mkh10.Locate('id_mkh_10',s, []);

s_zah.Text:=Trim(IBQuery_mkh10.fieldbyname('mkh_10').Value);

s_zah.Tag:=s;

if not IBQuery_r_potencial.active then IBQuery_r_potencial.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('id_r_potencial').Value;

DataModule1.IBQuery_r_potencial.Locate('id_r_potencial',s, []);

r_potencial.Text:=Trim(IBQuery_r_potencial.fieldbyname('r_potencial').Value);

r_potencial.Tag:=s;

if not IBQuery_meta.active then IBQuery_meta.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('id_meta').Value;

DataModule1.IBQuery_meta.Locate('id_meta',s, []);

meta.Text:=Trim(IBQuery_meta.fieldbyname('meta').Value);

meta.Tag:=s;

if not IBQuery_prac.active then IBQuery_prac.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('sotrudnik').Value;

DataModule1.IBQuery_prac.Locate('id_sotrudnic',s, []);

c_prac.Text:=Trim(IBQuery_prac.fieldbyname('sotrudnic').Value);

c_prac.Tag:=s;

msek.Text:=Trim(IBQuery_ipr.fieldbyname('msek_n').Value);

DateTimepicker1.DateTime:=IBQuery_ipr.fieldbyname('dat_zap').Value;

DateTimepicker2.DateTime:=IBQuery_ipr.fieldbyname('dat_spivb').Value;

DateTimepicker3.DateTime:=IBQuery_ipr.fieldbyname('dat_kontr').Value;

n_pr.Text:=Trim(IBQuery_ipr.fieldbyname('n_prog').Value);

edit3.Text:=IBQuery_ipr.fieldbyname('triv_inv').Value;

if not IBQuery_obmej.Active then IBQuery_obmej.Active:=true;

IBQuery_obmej.First;

while not IBQuery_obmej.Eof do begin

if ((IBQuery_obmej.FieldByName('ID_IPR').Value=IBQuery_ipr.fieldbyname('id_ipr').Value) and (IBQuery_obmej.FieldByName('ID_VID_OBMEJ').Value=1)) then

begin

memo1.Text:=IBQuery_obmej.fieldbyname('ID_STUP').Value;

end;

IBQuery_obmej.Next;

end;

...

if not IBQuery_obmej.Active then IBQuery_obmej.Active:=true;

IBQuery_obmej.First;

while not IBQuery_obmej.Eof do begin

if ((IBQuery_obmej.FieldByName('ID_IPR').Value=IBQuery_ipr.fieldbyname('id_ipr').Value) and (IBQuery_obmej.FieldByName('ID_VID_OBMEJ').Value=18)) then

begin

memo18.Text:=IBQuery_obmej.fieldbyname('ID_STUP').Value;

end;

IBQuery_obmej.Next;

end;

end;

end;

end;

//Текст модуля Dob_ipr

unit Dob_IPR;

procedure TFormAddIPR.m_exitClick(Sender: TObject);

begin

Close();

end;

procedure TFormAddIPR.m_reabilClick(Sender: TObject);

begin

if (not Assigned(FormReabil)) then

FormReabil:=TFormReabil.Create(Self);

FormReabil.ShowModal();

end;

procedure TFormAddIPR.Memo1KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['1'..'3', #8]) then Key:=#0;

end;

...

end;

procedure TFormAddIPR.Memo16KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['1'..'3', #8]) then Key:=#0;

end;

procedure TFormAddIPR.DBNavigator1Click(Sender: TObject;

Button: TNavigateBtn);

begin

if (DataModule1.IBQuery5.FieldByName('id_vid_obmej').Value=1) then Memo1.SetFocus;

if (DataModule1.IBQuery5.FieldByName('id_vid_obmej').Value=16) then Memo16.SetFocus;

end;

procedure TFormAddIPR.DBNavigator1Click(Sender: TObject;

Button: TNavigateBtn);

begin

if (DataModule1.IBQuery5.FieldByName('id_vid_obmej').Value=1) then Memo1.SetFocus;

...

if (DataModule1.IBQuery5.FieldByName('id_vid_obmej').Value=16) then Memo16.SetFocus;

end;

procedure TFormAddIPR.m_addClick(Sender: TObject);

var

res, f1,f2:integer;

global_ID_OFFER:integer;

id: string;

sovpadenie:boolean;

kod1, kod:integer;

begin

if FormAddIPR.Tag=11 then

begin

sovpadenie:=false;

f1:=StrToint(n_pr.Text);

if not Datamodule1.IBQuery_ipr.Active then Datamodule1.IBQuery_ipr.Active:=true;

Datamodule1.IBQuery_ipr.First;

while not Datamodule1.IBQuery_ipr.Eof do

begin

f2:=StrToInt(Datamodule1.IBQuery_ipr.fieldbyname('n_prog').Value);

if f1=f2 then sovpadenie:=true;

Datamodule1.IBQuery_ipr.next;

end;

if sovpadenie=false then begin

if (n_pr.text<>'')and(msek.text<>'')and(r_potencial.ItemIndex<>-1)and(pr_skl.ItemIndex<>-1)and(s_zah.ItemIndex<>-1)and(meta.ItemIndex<>-1)and(diagnoz.ItemIndex<>-1)and(c_prac.ItemIndex<>-1)and(StrToInt(edit3.Text)>=0)and(StrToInt(edit3.Text)<100) then

begin

res:=MonthsBetween(today,DateTimepicker3.Date);

if ((DateTimepicker1.Date<=now)and(DateTimepicker2.Date<=now)and(res>=1)) then

begin

if ((memo1.Text<>'')and(memo2.Text<>'')and(memo3.Text<>'')and(memo4.Text<>'')and(memo5.Text<>'')and(memo6.Text<>'')and(memo7.Text<>'')and(memo8.Text<>'')and(memo9.Text<>'')and(memo10.Text<>'')

and(memo11.Text<>'')and(memo12.Text<>'')and(memo13.Text<>'')and(memo14.Text<>'')and(memo15.Text<>'')and(memo16.Text<>'')and(memo17.Text<>'')and(memo18.Text<>''))then

begin

if (StrToint(memo1.Text)>0)and(StrToint(memo1.Text)<4)and(StrToint(memo2.Text)>0)and(StrToint(memo2.Text)<4)and(StrToint(memo3.Text)>0)and(StrToint(memo3.Text)<4)and(StrToint(memo5.Text)>0)and(StrToint(memo5.Text)<4)

and(StrToint(memo6.Text)>0)and(StrToint(memo6.Text)<4)and(StrToint(memo7.Text)>0)and(StrToint(memo7.Text)<4)and(StrToint(memo8.Text)>0)and(StrToint(memo8.Text)<4)and(StrToint(memo9.Text)>0)and(StrToint(memo9.Text)<4)

and(StrToint(memo10.Text)>0)and(StrToint(memo10.Text)<4)and(StrToint(memo11.Text)>0)and(StrToint(memo11.Text)<4)and(StrToint(memo12.Text)>0)and(StrToint(memo12.Text)<4)and(StrToint(memo13.Text)>0)and(StrToint(memo13.Text)<4)

and(StrToint(memo14.Text)>0)and(StrToint(memo14.Text)<4)and(StrToint(memo15.Text)>0)and(StrToint(memo15.Text)<4)and(StrToint(memo16.Text)>0)and(StrToint(memo16.Text)<4)and(StrToint(memo17.Text)>0)and(StrToint(memo17.Text)<4)

and(StrToint(memo18.Text)>0)and(StrToint(memo18.Text)<4)then

begin

with DataModule1.IBQuery do

begin

Active := False;

SQL.Clear;

SQL.Add('SELECT GEN_ID(GEN_IPR_ID,1) FROM RDB$DATABASE');

Active := True;

global_ID_OFFER:=FieldByName('GEN_ID').AsInteger;

Close;

SQL.Clear;

SQL.Add('INSERT INTO IPR (ID_IPR, ID_CHEL, N_PROG, DAT_ZAP, MSEK_N, ID_PROG_SKL, TRIV_INV, ID_DIAGNOZ, SUPUT_ZAHV, ID_R_POTENCIAL, META, DAT_SPIVB, DAT_KONTR, SOTRUDNIK)');

SQL.Add('VALUES(:ID_IPR, :ID_CHEL, :N_PROG, :DAT_ZAP, :MSEK_N, :ID_PROG_SKL, :TRIV_INV, :ID_DIAGNOZ, :SUPUT_ZAHV, :ID_R_POTENCIAL, :META, :DAT_SPIVB, :DAT_KONTR, :SOTRUDNIK)');

ParamByName('ID_IPR').AsInteger:=global_ID_OFFER;

ParamByName('ID_CHEL').Value:=fio.Tag;

ParamByName('N_PROG').Value:=n_pr.Text;

ParamByName('DAT_ZAP').AsDate:=DateTimePicker1.Date;

ParamByName('MSEK_N').Value:=msek.Text;

ParamByName('ID_PROG_SKL').Value:=pr_skl.Tag;

ParamByName('TRIV_INV').Value:=StrToInt(Edit3.Text);

ParamByName('ID_DIAGNOZ').Value:=diagnoz.Tag;

ParamByName('SUPUT_ZAHV').Value:=s_zah.Tag;

ParamByName('ID_R_POTENCIAL').Value:=r_potencial.Tag;

ParamByName('META').Value:=meta.Tag;

ParamByName('DAT_SPIVB').AsDate:=DateTimePicker2.Date;

ParamByName('DAT_KONTR').AsDate:=DateTimePicker3.Date;

ParamByName('SOTRUDNIK').Value:=c_prac.Tag;

try

ExecSQL;

Application.MessageBox('Дані записано','Увага!',MB_OK+MB_Iconinformation);

m_reabil.Enabled:=false;

Except

Application.MessageBox('Не вдалося додати запис','Увага!',MB_OK+MB_Iconerror);

end;

end;

DataModule1.IBQuery_ipr.Active:=false;

DataModule1.IBQuery_ipr.Active:=true;

kod1:=global_ID_OFFER;

if (not Assigned(FormReabil)) then

FormReabil:=TFormReabil.Create(Self);

FormReabil.TreeView.Tag:=kod1;

with DataModule1.IBQuery do

begin

Close;

SQL.Clear;

SQL.Add('INSERT INTO OBMEJ (ID_VID_OBMEJ, ID_STUP, ID_IPR)');

SQL.Add('VALUES( :ID_VID_OBMEJ, :ID_STUP, :ID_IPR)');

ParamByName('ID_VID_OBMEJ').Value:=1;

ParamByName('ID_STUP').Value:=memo1.Text;

ParamByName('ID_IPR').Value:=kod1;

try

ExecSQL;

Except

Application.MessageBox('Не вдалося додати запис про обмеження','Увага!',MB_OK+MB_Iconerror);

end;

...

SQL.Clear;

SQL.Add('INSERT INTO OBMEJ (ID_VID_OBMEJ, ID_STUP, ID_IPR)');

SQL.Add('VALUES( :ID_VID_OBMEJ, :ID_STUP, :ID_IPR)');

ParamByName('ID_VID_OBMEJ').Value:=18;

ParamByName('ID_STUP').Value:=memo18.Text;

ParamByName('ID_IPR').Value:=kod1;

try

ExecSQL;

m_reabil.Enabled:=true;

m_add.Enabled:=false;

Except

Application.MessageBox('Не вдалося додати запис про обмеження','Увага!',MB_OK+MB_Iconerror);

end;

end;

DataModule1.IBQuery_ipr.Active:=false;

DataModule1.IBQuery_ipr.Active:=true;

end

else

Application.MessageBox('Ви невірно заповнили ступені обмеження життедіяльності)','Увага!',MB_OK+MB_Iconerror);

end

else

Application.MessageBox('Ви не заповнили ступені обмеження життедіяльності)','Увага!',MB_OK+MB_Iconerror);

end

else

Application.MessageBox('Ви невірно заповнили дату','Увага!',MB_OK+MB_Iconerror);

end

else

Application.MessageBox('Ви заповнили не всі поля','Увага!',MB_OK+MB_Iconerror);

end

else Application.MessageBox('Такий номер програми реабілітації вже є.','Увага!',MB_Ok+MB_Iconerror);

end

else

if FormAddIPR.Tag=22 then

begin

with DataModule1.IBQuery do

begin

id:=DataModule1.IBQuery_ipr.fieldbyname('id_ipr').value;

Close;

SQL.Clear;

SQL.Add('UPDATE IPR SET N_PROG=:N_PROG, DAT_ZAP=:DAT_ZAP, MSEK_N=:MSEK_N, ID_PROG_SKL=:ID_PROG_SKL, TRIV_INV=:TRIV_INV, ID_DIAGNOZ=:ID_DIAGNOZ, SUPUT_ZAHV=:SUPUT_ZAHV, ID_R_POTENCIAL=:ID_R_POTENCIAL,');

SQL.Add(' META=:META, DAT_SPIVB=:DAT_SPIVB, DAT_KONTR=:DAT_KONTR, SOTRUDNIK=:SOTRUDNIK where id_ipr='+id);

ParamByName('N_PROG').Value:=n_pr.Text;

ParamByName('DAT_ZAP').AsDate:=DateTimePicker1.Date;

ParamByName('MSEK_N').Value:=msek.Text;

ParamByName('ID_PROG_SKL').Value:=pr_skl.Tag;

ParamByName('TRIV_INV').Value:=StrToInt(Edit3.Text);

ParamByName('ID_DIAGNOZ').Value:=diagnoz.Tag;

ParamByName('SUPUT_ZAHV').Value:=s_zah.Tag;

ParamByName('ID_R_POTENCIAL').Value:=r_potencial.Tag;

ParamByName('META').Value:=meta.Tag;

ParamByName('DAT_SPIVB').AsDate:=DateTimePicker2.Date;

ParamByName('DAT_KONTR').AsDate:=DateTimePicker3.Date;

ParamByName('SOTRUDNIK').Value:=c_prac.Tag;

try

ExecSQL;

Application.MessageBox('Дані перезаписано','Увага!',MB_OK+MB_Iconinformation);

Except

Application.MessageBox('Не вдалося відредагувати запис','Увага!',MB_OK+MB_Iconerror);

end;

end;

kod:=DataModule1.IBQuery_ipr.Fieldbyname('ID_IPR').Value;

if (not Assigned(FormReabil)) then

FormReabil:=TFormReabil.Create(Self);

FormReabil.TreeView.Tag:=kod;

with DataModule1.IBQuery do

begin

Close;

SQL.Clear;

SQL.Add('UPDATE OBMEJ SET ID_STUP=:ID_STUP WHERE id_ipr='+id+' and ID_VID_OBMEJ=1');

ParamByName('ID_STUP').Value:=memo1.Text;

try

ExecSQL;

Except

Application.MessageBox('Не вдалося додати запис про обмеження','Увага!',MB_OK+MB_Iconerror);

end;

...

Close;

SQL.Clear;

SQL.Add('UPDATE OBMEJ SET ID_STUP=:ID_STUP WHERE id_ipr='+id+' and ID_VID_OBMEJ=18');

ParamByName('ID_STUP').Value:=memo18.Text;

try

ExecSQL;

Except

Application.MessageBox('Не вдалося додати запис про обмеження','Увага!',MB_OK+MB_Iconerror);

end;

end;

m_reabil.Enabled:=true;

m_add.Enabled:=false;

DataModule1.IBQuery_ipr.Active:=false;

DataModule1.IBQuery_ipr.Active:=true;

DataModule1.IBQuery_obmej.Active:=false;

DataModule1.IBQuery_obmej.Active:=true;

end;

end;

procedure TFormAddIPR.diagnozChange(Sender: TObject);

var

i:integer;

begin

sp_diagnoz.Visible:=true;

DataModule1.ibquery_mkh.first();

for i:=0 to diagnoz.itemindex-1 do begin

DataModule1.ibquery_mkh.Next;

end;

diagnoz.Tag:=DataModule1.IBQuery_mkh.fieldbyname('ID_DIAGNOZ').Value;

end;

procedure TFormAddIPR.c_pracChange(Sender: TObject);

var

i:integer;

begin

sp_prac.Visible:=true;

DataModule1.ibquery_prac.first();

for i:=0 to c_prac.itemindex-1 do begin

DataModule1.ibquery_prac.Next;

end;

c_prac.Tag:=DataModule1.IBQuery_prac.fieldbyname('ID_SOTRUDNIC').Value;

end;

procedure TFormAddIPR.sp_diagnozClick(Sender: TObject);

begin

if (not Assigned(FormDovidnik)) then

FormDovidnik:=TFormDovidnik.Create(Self);

FormDovidnik.TabSheet1.TabVisible:=true;

FormDovidnik.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[0];

FormDovidnik.PageControl1.Pages[0].Caption:='Дігнози МКХ';

DataModule1.IBQuery_mkh.Active:=true;

FormDovidnik.DBGrid8.DataSource:=DataModule1.ds_mkh;

FormDovidnik.Tag:=1;

FormDovidnik.ShowModal();

end;

procedure TFormAddIPR.FormActivate(Sender: TObject);

var

s:integer;

begin

if FormAddIPR.tag=11 then

begin

n_pr.Text:='';

msek.Text:='';

edit3.Text:='';

r_potencial.ItemIndex:=-1;

pr_skl.ItemIndex:=-1;

s_zah.ItemIndex:=-1;

meta.ItemIndex:=-1;

diagnoz.ItemIndex:=-1;

c_prac.ItemIndex:=-1;

r_potencial.Clear;

pr_skl.Clear;

s_zah.Clear;

meta.Clear;

diagnoz.Clear;

c_prac.Clear;

sp_prac.Visible:=false;

sp_diagnoz.Visible:=false;

sp_mkh.Visible:=false;

memo1.Clear;

memo18.Clear;

end;

with DataModule1 do

begin

ibquery5.close();

ibquery5.Open();

ibquery5.first();

dblistbox1.Clear;

while not(ibquery5.eof) do

begin

dblistbox1.items.add(Trim(ibquery5.fieldbyname('VID_OBMEJ').asstring));

ibquery5.next;

end;

ibquery5.first();

msek.Text:='Обласна №3';

DateTimepicker1.DateTime:=now();

DateTimepicker2.DateTime:=now();

DateTimepicker3.DateTime:=now();

ibquery_mkh10.close();

ibquery_mkh10.open();

ibquery_mkh10.first();

while not(ibquery_mkh10.eof) do

begin

s_zah.items.add(Trim(ibquery_mkh10.fieldbyname('mkh_10').asstring));

ibquery_mkh10.next;

end;

ibquery_mkh10.first();

IBQuery_ipr_skl.close();

IBQuery_ipr_skl.open();

IBQuery_ipr_skl.first();

while not(IBQuery_ipr_skl.eof) do

begin

pr_skl.items.add(Trim(IBQuery_ipr_skl.fieldbyname('prog_skl').asstring));

IBQuery_ipr_skl.next;

end;

IBQuery_ipr_skl.first();

IBQuery_r_potencial.close();

IBQuery_r_potencial.open();

IBQuery_r_potencial.first();

while not(IBQuery_r_potencial.eof) do

begin

r_potencial.items.add(Trim(IBQuery_r_potencial.fieldbyname('r_potencial').asstring));

IBQuery_r_potencial.next;

end;

IBQuery_r_potencial.first();

IBQuery_mkh.close();

IBQuery_mkh.open();

IBQuery_mkh.first();

while not(IBQuery_mkh.eof) do

begin

diagnoz.items.add(Trim(IBQuery_mkh.fieldbyname('diagnoz').asstring));

IBQuery_mkh.next;

end;

IBQuery_mkh.first();

IBQuery_prac.close();

IBQuery_prac.open();

IBQuery_prac.first();

while not(IBQuery_prac.eof) do

begin

c_prac.items.add(Trim(IBQuery_prac.fieldbyname('sotrudnic').asstring));

IBQuery_prac.next;

end;

IBQuery_prac.first();

IBQuery_meta.close();

IBQuery_meta.open();

IBQuery_meta.first();

while not(IBQuery_meta.eof) do

begin

meta.items.add(Trim(IBQuery_meta.fieldbyname('meta').asstring));

IBQuery_meta.next;

end;

IBQuery_meta.first();

end;

if FormAddIPR.tag=22 then

begin

DataModule1.ibquery5.close();

DataModule1.ibquery5.Open();

sp_prac.Visible:=true;

sp_diagnoz.Visible:=true;

sp_mkh.Visible:=true;

with DataModule1 do

begin

if not ibquery_os_karta.active then ibquery_os_karta.open();

ibquery_os_karta.first();

while not(ibquery_os_karta.eof) do

begin

if ibquery_os_karta.FieldByName('id_chel').Value then

ibquery_os_karta.next;

end;

fio.Text:=Trim(IBQuery_ipr.fieldbyname('fio').Value);

if not IBQuery_ipr_skl.active then IBQuery_ipr_skl.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('id_prog_skl').Value;

DataModule1.IBQuery_ipr_skl.Locate('id_prog_skl',s, []);

pr_skl.Text:=Trim(IBQuery_ipr.fieldbyname('prog_skl').Value);

pr_skl.Tag:=DataModule1.IBQuery_ipr.Fieldbyname('id_prog_skl').Value;

if not IBQuery_prac.active then IBQuery_prac.open();

s:=DataModule1.IBQuery_ipr.Fieldbyname('sotrudnik').Value;

DataModule1.IBQuery_prac.Locate('id_sotrudnic',s, []);

c_prac.Text:=Trim(IBQuery_prac.fieldbyname('sotrudnic').Value);

c_prac.Tag:=s;

msek.Text:=Trim(IBQuery_ipr.fieldbyname('msek_n').Value);

DateTimepicker1.DateTime:=IBQuery_ipr.fieldbyname('dat_zap').Value;

DateTimepicker2.DateTime:=IBQuery_ipr.fieldbyname('dat_spivb').Value;

DateTimepicker3.DateTime:=IBQuery_ipr.fieldbyname('dat_kontr').Value;

n_pr.Text:=Trim(IBQuery_ipr.fieldbyname('n_prog').Value);

edit3.Text:=IBQuery_ipr.fieldbyname('triv_inv').Value;

if not IBQuery_obmej.Active then IBQuery_obmej.Active:=true;

IBQuery_obmej.First;

while not IBQuery_obmej.Eof do begin

if ((IBQuery_obmej.FieldByName('ID_IPR').Value=IBQuery_ipr.fieldbyname('id_ipr').Value) and (IBQuery_obmej.FieldByName('ID_VID_OBMEJ').Value=1)) then

begin

memo1.Text:=IBQuery_obmej.fieldbyname('ID_STUP').Value;

end;

IBQuery_obmej.Next;

end;

if not IBQuery_obmej.Active then IBQuery_obmej.Active:=true;

IBQuery_obmej.First;

while not IBQuery_obmej.Eof do begin

if ((IBQuery_obmej.FieldByName('ID_IPR').Value=IBQuery_ipr.fieldbyname('id_ipr').Value) and (IBQuery_obmej.FieldByName('ID_VID_OBMEJ').Value=18)) then

begin

memo18.Text:=IBQuery_obmej.fieldbyname('ID_STUP').Value;

end;

IBQuery_obmej.Next;

end;

end;

end;

end;

procedure TFormAddIPR.FormShow(Sender: TObject);

begin

m_reabil.Enabled:=false;

m_add.Enabled:=true;

if FormAddIPR.tag=22 then

begin

r_potencial.Clear;

pr_skl.Clear;

s_zah.Clear;

meta.Clear;

diagnoz.Clear;

c_prac.Clear;

memo1.Clear;

memo18.Clear;

end;

end;

procedure TFormAddIPR.n_prKeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9', #8])

then

Key:=#0;

end;

procedure TFormAddIPR.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9', #8])

then

Key:=#0;

end;

end.

//Текст модуля AddPacient

unit AddPacient;

procedure TFormAddPacient.m_exitClick(Sender: TObject);

begin

Close();

end;

procedure TFormAddPacient.FormShow(Sender: TObject);

begin

SpeedButton_prof.Visible:=false;

SpeedButton_obl.Visible:=false;

SpeedButton_r_obl.Visible:=false;

SpeedButton_punkt.Visible:=false;

SpeedButton_r_punkt.Visible:=false;

m_add_pac.Enabled:=true;

m_dd_ipr.Enabled:=false;

fio.Text:='';

work.Text:='';

tel.Text:='';

street.Text:='';

index.Text:='';

c_sex.ItemIndex:=-1;

c_osv.ItemIndex:=-1;

c_gr.ItemIndex:=-1;

c_prof.ItemIndex:=-1;

c_obl.ItemIndex:=-1;

c_r_obl.ItemIndex:=-1;

c_nas_punkt.ItemIndex:=-1;

c_r_nas_punkt.ItemIndex:=-1;

end;

procedure TFormAddPacient.m_add_pacClick(Sender: TObject);

var

res:integer;

f1,f2:string;

sovpadenie, dali: boolean;

begin

m_add_pac.Enabled:=true;

m_dd_ipr.Enabled:=false;

if (fio.Text<>'')and(c_sex.ItemIndex<>-1)and(c_osv.ItemIndex<>-1)and

(c_gr.ItemIndex<>-1)and(c_obl.ItemIndex<>-1)and(c_prof.ItemIndex<>-1)and(c_r_obl.ItemIndex<>-1)and(c_nas_punkt.ItemIndex<>-1)

and(c_r_nas_punkt.ItemIndex<>-1)and(work.Text<>'')and(tel.Text<>'')and(street.Text<>'')and(index.Text<>'') then

begin

res:=YearsBetween(today,DateTimepicker1.Date);

if ((res>=18) and (res<125)) then

begin

sovpadenie:=false;

dali:=false;

f1:=trim(fio.Text);

if not Datamodule1.IBQuery_O.Active then Datamodule1.IBQuery_O.Active:=true;

Datamodule1.IBQuery_O.First;

if Datamodule1.IBQuery3.RecordCount>=1 then

begin

while not Datamodule1.IBQuery_O.Eof do

begin

f2:=Trim(Datamodule1.IBQuery_O.fieldbyname('fio').Value);

if f1=f2 then sovpadenie:=true;

Datamodule1.IBQuery_O.next;

end;

end

ELSE dali:=true;

if sovpadenie=false then dali:=true;

if sovpadenie=true then if (Application.MessageBox('Пацієнт з таким ПІБ вже є в системі, ви точно хочете додати цей запис?','Увага!',MB_YesNo+MB_Iconerror)=idYes) then


Подобные документы

  • Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.

    курсовая работа [4,5 M], добавлен 03.01.2014

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

    курсовая работа [4,0 M], добавлен 02.12.2014

  • Опис вхідних та вихідних повідомлень, процедури перетворення даних. Розробка інфологічної моделі, інформаційні об’єкти та їх характеристика. Автоматизація даталогічного проектування. Опис структур таблиць бази даних на фізичному рівні, реалізація запитів.

    курсовая работа [2,5 M], добавлен 02.01.2014

  • Розробка бази даних "Автовокзал". Функціональні залежності між атрибутами. Ідентифікація атрибутів, які в реляційної моделі даних використовуються в якості первинних ключів реляційних відносин. Організація вибірки інформації з бази за допомогою запиту.

    курсовая работа [35,6 K], добавлен 19.08.2012

  • Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.

    курсовая работа [147,2 K], добавлен 02.06.2019

  • Проектування бази даних предметної області "Магазин будівельних матеріалів". Аналіз сукупності вхідних і вихідних даних, шляхи удосконалення інформаційної системи обліку товару. Організація інформаційної бази, розробка логічної і фізичної моделі.

    курсовая работа [559,2 K], добавлен 09.05.2016

  • Розробка бази даних для обробки інформації про діяльність туристичного агентства. Визначення предметної області, вхідних та вихідних даних, їх організації. Генерація схеми бази даних. Реалізація функціональних вимог. Інструкція з експлуатації системи.

    курсовая работа [5,3 M], добавлен 12.05.2015

  • Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.

    курсовая работа [55,1 K], добавлен 15.03.2015

  • Розробка бази даних в середовищі Microsoft SQL Server 2008 для обліку послуг фітнес-клубу. Таблиці для баз даних, їх властивості. Аналіз сукупності вхідних і вихідних параметрів, опис інформаційної бази, розробка логічної і фізичної моделі даних в ІС.

    курсовая работа [449,9 K], добавлен 09.05.2016

  • Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.

    курсовая работа [1,2 M], добавлен 29.02.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.