Диплом: Автоматизация процесса ведения документации и отчетности в НУЗ "Отделенческая больница на станции Муром "Структурное подразделение на ст. Владимир"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
107
//отключаю кнопку Добавить участок
form_uchastok.Button_add_uchatok.Visible := False;
//отображаю список улиц по данному участку
view_street_add_uchastok;
end;
end;
procedure TForm_uchastok.view_street_add_uchastok;
var buf_zapros ,buf_kav: string;
begin
buf_kav := '''';
buf_zapros := 'SELECT Uchastok_ulica.Ulica, Ulica.name_ulica as Улица, Uchastok_ulica.korpus as Корпус,
Uchastok_ulica.dom as Дом'
+' FROM Ulica INNER JOIN (Uchastok INNER JOIN Uchastok_ulica ON Uchastok.nomer_uchastok =
Uchastok_ulica.uchastok) ON Ulica.id_ulica = Uchastok_ulica.Ulica '
+' WHERE Uchastok.nomer_uchastok = '+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav+';';
datamodule1.Query_viev_street_add.Close;
datamodule1.Query_viev_street_add.SQL.Clear;
datamodule1.Query_viev_street_add.SQL.Text := buf_zapros;
datamodule1.Query_viev_street_add.Open;
form_uchastok.DBGrid_street_add.Columns[0].Visible := False;
dbgrid_view_street_add_uchastok;
end;
procedure TForm_uchastok.dbgrid_view_street_add_uchastok;
begin
form_uchastok.DBGrid_street_add.Columns[1].Width := 250;
end;
procedure TForm_uchastok.view_street;
var buf_zapros ,buf_kav: string;
begin
buf_kav := '''';
if form_uchastok.Edit_find_street.Text = '' then
buf_zapros := 'SELECT Ulica.id_ulica, Ulica.name_ulica as Улица'
+' FROM Ulica ORDER BY Ulica.name_ulica;'
else
buf_zapros := 'SELECT Ulica.id_ulica, Ulica.name_ulica as Улица'
+' FROM Ulica LIKE '+buf_kav+form_uchastok.Edit_find_street.Text+'%'+buf_kav
+' ORDER BY Ulica.name_ulica;';
datamodule1.Query_view_street.Close;
datamodule1.Query_view_street.SQL.Clear; datamodule1.Query_view_street.SQL.Text := buf_zapros;
datamodule1.Query_view_street.Open;
//сркываю столбец с идентификатором
form_uchastok.DBGrid_view_street.Columns[0].Visible := False;
end;
procedure TForm_uchastok.Button_ad_uchastok_ulicaClick(Sender: TObject);
var run_procedure : boolean;
buf_kav, buf_zapros : string;
begin
//присваиваю начальные значения
buf_kav := ''''; run_procedure := True;
//чищу сообщения об олибке
clear_label;
//проверяю введеныне данные
if form_uchastok.Edit_dom.Text = '' then
begin
run_procedure := False; form_uchastok.Label8.Caption := 'Не введен номер дома';
end;
if form_uchastok.DBGrid_view_street.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False; form_uchastok.Label11.Caption := 'Не выбрана улица';
end;
//првоерка закнчена
108
if run_procedure then
add_ulica_dom;
end;
procedure TForm_uchastok.Button_delete_uchastokClick(Sender: TObject);
begin
if form_uchastok.DBGrid_uchastok.DataSource.DataSet.RecordCount <> 0 then
begin
form_uchastok.DBGrid_uchastok.DataSource.DataSet.Delete; view_street_for_uchastok;
end;
end;
procedure TForm_uchastok.Button_delete_uchastok_ulicaClick(Sender: TObject);
var buf_zapros, buf_kav : string;
begin
//присваиваю начальные значения
buf_kav := '''';
//создаю запрос на удаление
if form_uchastok.DBGrid_street_add.DataSource.DataSet.RecordCount <> 0 then
begin
buf_zapros :=' DELETE FROM Uchastok_ulica WHERE uchastok =
'+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav
+' AND Ulica = '+form_uchastok.DBGrid_street_add.DataSource.DataSet.FieldByName('Ulica').AsString
+' AND dom
='+buf_kav+form_uchastok.DBGrid_street_add.DataSource.DataSet.FieldByName('Дом').AsString+buf_kav
+' AND korpus =
'+buf_kav+form_uchastok.DBGrid_street_add.DataSource.DataSet.FieldByName('Корпус').AsString+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//обновляю таблицу на форме
datamodule1.Query_viev_street_add.Active := False; datamodule1.Query_viev_street_add.Active := True;
form_uchastok.DBGrid_street_add.Columns[0].Visible := False;
dbgrid_view_street_add_uchastok;
end;
end;
procedure TForm_uchastok.Button_new_uchastokClick(Sender: TObject);
begin
//разблокирую номер участка
form_uchastok.Edit_uchastok.ReadOnly := False;
form_uchastok.Edit_uchastok.Color := clWindow; form_uchastok.Edit_uchastok.Text := '';
form_uchastok.GroupBox2.Visible := False; form_uchastok.GroupBox3.Visible := False;
//обновляю данные на форме
datamodule1.Table__uchastok.Active := False;
datamodule1.Table__uchastok.Active := True;
form_uchastok.Button_new_uchastok.Visible := False;
view_street_for_uchastok; dbgrid_view_street_for_uchastok;
//отображаю кнопку добавить участок
form_uchastok.Button_add_uchatok.Visible := False;
end;
procedure TForm_uchastok.Button_update_uchastokClick(Sender: TObject);
begin
if form_uchastok.DBGrid_uchastok.DataSource.DataSet.RecordCount <> 0 then
begin
form_uchastok.Edit_uchastok.Text :=
form_uchastok.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString;
form_uchastok.Label_id.Caption :=
form_uchastok.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString;
form_uchastok.Button_add_uchatok.Caption := 'Исправить';
end;
end;
procedure TForm_uchastok.add_ulica_dom;
var buf_zapros, buf_kav : string;
begin
109
//присваиваю начальыне значения
buf_kav := '''';
//привязываю улицу к участку
buf_zapros := 'INSERT INTO Uchastok_ulica(uchastok,Ulica,dom,korpus) VALUES ('
+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav+','
+form_uchastok.DBGrid_view_street.DataSource.DataSet.FieldByName('id_ulica').AsString+','
+buf_kav+form_uchastok.Edit_dom.Text+buf_kav+','
+buf_kav+form_uchastok.Edit_korpus.Text+buf_kav+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
//чищу поля ввода
form_uchastok.Edit_korpus.Text := ''; form_uchastok.Edit_dom.Text := '';
//обновляю список улиц и домов на форме
datamodule1.Query_viev_street_add.Active := False;
datamodule1.Query_viev_street_add.Active := True;
dbgrid_view_street_add_uchastok;
form_uchastok.DBGrid_street_add.Columns[0].Visible := False;
end;
procedure TForm_uchastok.clear_label;
begin
Form_uchastok.Label7.Caption := ''; Form_uchastok.Label8.Caption := '';
Form_uchastok.Label10.Caption := ''; Form_uchastok.Label11.Caption := '';
end;
procedure TForm_uchastok.DBGrid_uchastokCellClick(Column: TColumn);
begin view_street_for_uchastok;end;
procedure TForm_uchastok.DBGrid_uchastokColEnter(Sender: TObject);
begin view_street_for_uchastok;end;
procedure TForm_uchastok.DBGrid_uchastokDblClick(Sender: TObject);
begin view_street_for_uchastok;end;
procedure TForm_uchastok.DBGrid_uchastokMouseEnter(Sender: TObject);
begin view_street_for_uchastok;end;
procedure TForm_uchastok.Edit_uchastokChange(Sender: TObject);
begin view_street;end;
procedure TForm_uchastok.FormCreate(Sender: TObject);
begin clear_label;end;
procedure TForm_uchastok.FormShow(Sender: TObject);
begin
if form_uchastok.DBGrid_uchastok.DataSource.DataSet.RecordCount <> 0 then
begin
view_street_for_uchastok;// dbgrid_view_street_for_uchastok;
end;
end;
procedure TForm_uchastok.view_street_for_uchastok;
var buf_zapros,buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'SELECT Ulica.name_ulica as Улица, Uchastok_ulica.korpus as Корпус, Uchastok_ulica.dom as
Дом'
+' FROM Ulica INNER JOIN (Uchastok INNER JOIN Uchastok_ulica ON Uchastok.nomer_uchastok =
Uchastok_ulica.uchastok) ON Ulica.id_ulica = Uchastok_ulica.Ulica '
+' WHERE Uchastok.nomer_uchastok = '
+buf_kav+form_uchastok.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString+buf_kav+'
;';
datamodule1.Query_view_uchatok_ulica.Close; datamodule1.Query_view_uchatok_ulica.SQL.Clear;
datamodule1.Query_view_uchatok_ulica.SQL.Text := buf_zapros;
datamodule1.Query_view_uchatok_ulica.Open; dbgrid_view_street_for_uchastok;
end;
procedure TForm_uchastok.dbgrid_view_street_for_uchastok;
var buf_zapros,buf_kav : string;
begin
form_uchastok.DBGrid_uchastok_street.Columns[0].Width := 300;
110
end;
end.
Файл Form__data_doctor.pas
unit Form__data_doctor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, Data.DB,ComObj,Excel2000;
type
TForm_data_doctor = class(TForm)
DBGrid_doctor_view: TDBGrid;
MonthCalendar1: TMonthCalendar;
DBGrid_view_talon: TDBGrid;
procedure view_doctor;
procedure dbgrid_doctor_talon;
procedure view_talon;
procedure view_dbgrid_talon;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBGrid_doctor_viewCellClick(Column: TColumn);
procedure DBGrid_doctor_viewColEnter(Sender: TObject);
procedure DBGrid_doctor_viewDblClick(Sender: TObject);
procedure DBGrid_doctor_viewMouseActivate(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
procedure MonthCalendar1Click(Sender: TObject);
procedure MonthCalendar1DblClick(Sender: TObject);
procedure MonthCalendar1MouseEnter(Sender: TObject);
procedure MonthCalendar1MouseLeave(Sender: TObject);
procedure MonthCalendar1Enter(Sender: TObject);
procedure MonthCalendar1Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_data_doctor: TForm_data_doctor;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_data_doctor.view_doctor;
var buf_zapros,buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'SELECT Special.Код, Special.name_special as Специальность,Special.uchastok as Участок,
Doctor.Family as Фамилия, Doctor.first_name as Имя, Doctor.Second_name as Отчество '
+' FROM Special INNER JOIN (Doctor INNER JOIN doctor_special ON Doctor.tabel_nomer =
doctor_special.doctor) ON Special.Код = doctor_special.special '
+' ORDER BY Special.name_special;';
datamodule1.Query_doctor_talon.Close; datamodule1.Query_doctor_talon.SQL.Clear;
datamodule1.Query_doctor_talon.SQL.Text := buf_zapros;
datamodule1.Query_doctor_talon.Open; dbgrid_doctor_talon;
end;
procedure TForm_data_doctor.Button1Click(Sender: TObject);
var E,myRange, Sheet : variant;
buf_zapros : string; buf_kav : string;
nomer : integer;begin
//храню кавычку
buf_kav := ''''; nomer := 1;
111
//создаю айл Excle
E := CreateOleObject('Excel.Application');
E.WorkBooks.open(GetCurrentDir+'\шаблоны\talon.xlsx');;
//открываю файд Excel
// E.Workbooks.Add;
Sheet:=E.Sheets.Item[1];
//вывожу даныне клиента
E.Cells[nomer,1]:= 'Список талонов на '+datetostr(Form_data_doctor.MonthCalendar1.Date)+' к врачу
'+Form_data_doctor.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Фамилия').AsString+' '
+Form_data_doctor.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Имя').AsString+'
'+Form_data_doctor.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Отчество').AsString;
nomer:= nomer+1;
//вывожу закголов таблицы
E.Cells[nomer,1]:= 'Время приема';
nomer:= nomer+2; datamodule1.Query_view_talon.First;
while not datamodule1.Query_view_talon.Eof do
begin
E.Cells[nomer,1]:=datamodule1.Query_view_talon.FieldByName('Время_приема').AsString;
E.Cells[nomer,2]:=datamodule1.Query_view_talon.FieldByName('СНИЛС').AsString;
E.Cells[nomer,3]:=datamodule1.Query_view_talon.FieldByName('Фамилия').AsString;
E.Cells[nomer,4]:=datamodule1.Query_view_talon.FieldByName('Имя').AsString;
E.Cells[nomer,5]:=datamodule1.Query_view_talon.FieldByName('Отчество').AsString;
E.Cells[nomer,6]:=datamodule1.Query_view_talon.FieldByName('Дата_рождения').AsString;
E.Cells[nomer,7]:=datamodule1.Query_view_talon.FieldByName('Полис').AsString;
nomer := nomer+1; datamodule1.Query_view_talon.Next;
end;
//выставляю ширину столбцов
myRange :=Sheet.Cells[1,1]; myRange.ColumnWidth := 30;
E.Visible := True;//включаю отображение программы Excel
end;
procedure TForm_data_doctor.dbgrid_doctor_talon;
begin
Form_data_doctor.DBGrid_doctor_view.Columns[0].Visible := False;
Form_data_doctor.DBGrid_doctor_view.Columns[1].Width := 150;
Form_data_doctor.DBGrid_doctor_view.Columns[2].Width := 150;
Form_data_doctor.DBGrid_doctor_view.Columns[3].Width := 150;
Form_data_doctor.DBGrid_doctor_view.Columns[4].Width := 150;
end;
procedure TForm_data_doctor.view_talon;
var buf_zapros,buf_kav : string;
myYear, myMonth, myDay : Word;
date_talon : string;
begin
DecodeDate(form_data_doctor.MonthCalendar1.Date, myYear, myMonth, myDay);
date_talon := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'SELECT talon.time_talon as Время_приема, pacient.snils as СНИЛС, pacient.Family as Фамилия,
pacient.first_name as Имя, pacient.second_name as Отчество, pacient.date_born as Дата_рождения, pacient.polis as
Полис '
+' FROM pol INNER JOIN (Special INNER JOIN (pacient INNER JOIN talon ON pacient.snils = talon.snils) ON
Special.Код = talon.doctor) ON pol.id_pol = pacient.pol '
+' WHERE talon.date_talon = '+date_talon
+' AND Special.Код = '+
Form_data_doctor.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Код').AsString
+' ORDER BY talon.time_talon;';
datamodule1.Query_view_talon.Close; datamodule1.Query_view_talon.SQL.Clear;
datamodule1.Query_view_talon.SQL.Text := buf_zapros; datamodule1.Query_view_talon.Open;
view_dbgrid_talon;
end;
procedure TForm_data_doctor.DBGrid_doctor_viewCellClick(Column: TColumn);
begin view_talon; end;
procedure TForm_data_doctor.DBGrid_doctor_viewColEnter(Sender: TObject);
112
begin view_talon; end;
procedure TForm_data_doctor.DBGrid_doctor_viewDblClick(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.DBGrid_doctor_viewMouseActivate(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
begin view_talon; end;
procedure TForm_data_doctor.FormCreate(Sender: TObject);
begin Form_data_doctor.MonthCalendar1.Date := now; end;
procedure TForm_data_doctor.FormShow(Sender: TObject);
begin view_doctor; view_talon;end;
procedure TForm_data_doctor.MonthCalendar1Click(Sender: TObject);
begin view_talon;end;
procedure TForm_data_doctor.MonthCalendar1DblClick(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.MonthCalendar1Enter(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.MonthCalendar1Exit(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.MonthCalendar1MouseEnter(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.MonthCalendar1MouseLeave(Sender: TObject);
begin view_talon; end;
procedure TForm_data_doctor.view_dbgrid_talon;
begin Form_data_doctor.DBGrid_view_talon.Columns[0].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[1].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[2].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[3].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[4].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[5].Width := 100;
Form_data_doctor.DBGrid_view_talon.Columns[6].Width := 100;
end;
end.
Файл Form__pacient.pas
unit Form__pacient;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids,
Vcl.ComCtrls, Vcl.StdCtrls,DateUtils;
type
TForm_pacient = class(TForm)
DBGrid_pacient: TDBGrid;
GroupBox1: TGroupBox;
Edit_family: TEdit;
Edit_name: TEdit;
Edit_surname: TEdit;
DBGrid_uchastok: TDBGrid;
Button_add: TButton;
ComboBox_pol: TComboBox;
DateTimePicker_born: TDateTimePicker;
Button_delete: TButton;
Button_update: TButton;
Label_snils: TLabel;
procedure view_pacient;
procedure view_dbgrid_pacient;
procedure Button_addClick(Sender: TObject);
procedure clear_label;
procedure FormCreate(Sender: TObject);
procedure view_pol();
113
procedure add_zapis;
procedure update_zapis;
procedure Button_deleteClick(Sender: TObject);
procedure Button_updateClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_pacient: TForm_pacient;
implementation
{$R *.dfm}
uses DataModule;
procedure TForm_pacient.view_pacient;
var buf_zapros : string;
begin
buf_zapros := 'SELECT pacient.Family as Фамилия, pacient.first_name as Имя, pacient.second_name as
Отчество,date_born as Дата_рождения, pacient.snils as Снилс,polis as Полис, pol.name_pol as Пол,
Uchastok.nomer_uchastok as Участок, pol.id_pol '
+' FROM Uchastok INNER JOIN (pol INNER JOIN pacient ON pol.id_pol = pacient.pol) ON
Uchastok.nomer_uchastok = pacient.uchastok;';
datamodule1.Query_pacient.Close; datamodule1.Query_pacient.SQL.Clear;
datamodule1.Query_pacient.SQL.Text := buf_zapros; datamodule1.Query_pacient.Open;
view_dbgrid_pacient;
end;
procedure TForm_pacient.Button_addClick(Sender: TObject);
var buf_zapros, buf_kav : string;
run_procedure : boolean;
begin
//присваиваю начальные значения
run_procedure := True; buf_kav := '''';
//чищу сообщения об ошибке
clear_label;
if length(form_pacient.Edit_snils.Text) <14 then
begin
run_procedure := False;
form_pacient.Label7.Caption := 'Длина снилс меньше 14 символов';
end
else//проверяю есть ли такой снилс в БД
begin
if form_pacient.Button_add.Caption = 'Добавить' then
begin
buf_zapros := 'SELECT snils FROM pacient WHERE snils = '+buf_kav+form_pacient.Edit_snils.Text+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.Open;
if datamodule1.Query_buf.RecordCount <> 0 then
begin run_procedure := False; form_pacient.Label7.Caption := 'Такой снилс уже есть в БД'; end;
end;
end;
if form_pacient.Edit_family.Text = '' then
begin run_procedure := False; form_pacient.Label8.Caption := 'Не введена фамилия';
end;
if form_pacient.Edit_name.Text = '' then
begin run_procedure := False; form_pacient.Label9.Caption := 'Не введено имя';
end;
if form_pacient.Edit_surname.Text = '' then
begin run_procedure := False; form_pacient.Label10.Caption := 'Не введено отчество';
end;
if form_pacient.ComboBox_pol.ItemIndex = -1 then
begin
114
run_procedure := False; form_pacient.Label11.Caption := 'Не ввыбран пол';
end;
if comparedate(Form_pacient.DateTimePicker_born.Date, Now()) = 1 then
begin run_procedure := False; Form_pacient.Label14.Caption := 'Дата больше текущей';
end;
if form_pacient.Edit_polis.Text = '' then
begin run_procedure := False; form_pacient.Label15.Caption := 'Не введен полис';
end;
if form_pacient.DBGrid_uchastok.DataSource.DataSet.RecordCount = 0 then
begin run_procedure := False; form_pacient.Label6.Caption := 'Не выбран участок'; end;
//проверка закнчена
if run_procedure then begin
if form_pacient.Button_add.Caption = 'Добавить' then add_zapis;
if form_pacient.Button_add.Caption = 'Изменить' then update_zapis; end;
end;
procedure TForm_pacient.Button_deleteClick(Sender: TObject);
var buf_zapros, buf_kav : string;
begin
if form_pacient.DBGrid_pacient.DataSource.DataSet.RecordCount <> 0 then
begin
buf_kav := '''';
buf_zapros := 'DELETE FROM pacient WHERE snils =
'+buf_kav+form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Снилс').AsString+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close; datamodule1.Query_pacient.Active := False;
datamodule1.Query_pacient.Active :=True; view_dbgrid_pacient;
end;
end;
procedure TForm_pacient.Button_updateClick(Sender: TObject);
var buf_zapros, buf_kav : string;
begin
if form_pacient.DBGrid_pacient.DataSource.DataSet.RecordCount <> 0 then
begin
form_pacient.Edit_family.Text :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Фамилия').AsString;
form_pacient.Edit_name.Text := form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Имя').AsString;
form_pacient.Edit_surname.Text :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Отчество').AsString;
form_pacient.Edit_snils.Text := form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Снилс').AsString;
form_pacient.Edit_polis.Text :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Полис').AsString;
form_pacient.DBGrid_uchastok.DataSource.DataSet.Locate('nomer_uchastok',form_pacient.DBGrid_pacient.DataSour
ce.DataSet.FieldByName('Участок').AsString,[]);
form_pacient.DateTimePicker_born.Date :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Дата_рождения').AsDateTime;
form_pacient.Button_add.Caption := 'Изменить';
form_pacient.Label_snils.Caption :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('Снилс').AsString;
form_pacient.ComboBox_pol.ItemIndex :=
form_pacient.DBGrid_pacient.DataSource.DataSet.FieldByName('id_pol').AsInteger-1;
end;
end;
procedure TForm_pacient.add_zapis;
var buf_zapros,buf_kav : string;
myYear, myMonth, myDay : Word;
date_string : string;
begin
buf_kav := '''';
DecodeDate(Form_pacient.DateTimePicker_born.Date, myYear, myMonth, myDay);
date_string :='#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'INSERT INTO pacient (snils,Family,first_name,second_name,date_born,polis,pol,uchastok) VALUES
115
('
+buf_kav+form_pacient.Edit_snils.Text+buf_kav+','
+buf_kav+form_pacient.Edit_family.Text+buf_kav+','
+buf_kav+form_pacient.Edit_name.Text+buf_kav+','
+buf_kav+form_pacient.Edit_surname.Text+buf_kav+','
+date_string+','
+buf_kav+form_pacient.Edit_polis.Text+buf_kav+','
+inttostr(form_pacient.ComboBox_pol.ItemIndex+1)+','
+form_pacient.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close; datamodule1.Query_pacient.Active := False;
datamodule1.Query_pacient.Active :=True; view_dbgrid_pacient;
//чищу поля ввода
form_pacient.Edit_family.Text := ''; form_pacient.Edit_name.Text := '';
form_pacient.Edit_surname.Text := ''; form_pacient.Edit_snils.Text := '';
form_pacient.Edit_polis.Text := ''; form_pacient.ComboBox_pol.ItemIndex := -1;
end;
procedure TForm_pacient.update_zapis;
var buf_zapros,buf_kav : string;
myYear, myMonth, myDay : Word;
date_string : string;
begin
buf_kav := '''';
DecodeDate(Form_pacient.DateTimePicker_born.Date, myYear, myMonth, myDay);
date_string :='#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'UPDATE pacient SET snils = '+buf_kav+form_pacient.Edit_snils.Text+buf_kav+','
+' Family = '+buf_kav+form_pacient.Edit_family.Text+buf_kav+','
+' first_name = '+buf_kav+form_pacient.Edit_name.Text+buf_kav+','
+' second_name = ' +buf_kav+form_pacient.Edit_surname.Text+buf_kav+','
+' date_born = '+date_string+','
+' polis = '+buf_kav+form_pacient.Edit_polis.Text+buf_kav+','
+' pol = '+inttostr(form_pacient.ComboBox_pol.ItemIndex+1)+','
+' uchastok = '+form_pacient.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString
+' WHERE snils = '+buf_kav+form_pacient.Label_snils.Caption+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close; datamodule1.Query_pacient.Active := False;
datamodule1.Query_pacient.Active :=True; view_dbgrid_pacient;
//переименовываю кнопку
form_pacient.Button_add.Caption := 'Добавить';
//чищу поля ввода
form_pacient.Edit_family.Text := ''; form_pacient.Edit_name.Text := '';
form_pacient.Edit_surname.Text := ''; form_pacient.Edit_snils.Text := '';
form_pacient.Edit_polis.Text := ''; form_pacient.ComboBox_pol.ItemIndex := -1;
end;
procedure TForm_pacient.view_dbgrid_pacient;
begin
form_pacient.DBGrid_pacient.Columns[0].Width := 150;
form_pacient.DBGrid_pacient.Columns[1].Width := 150;
form_pacient.DBGrid_pacient.Columns[2].Width := 150;
form_pacient.DBGrid_pacient.Columns[3].Width := 150;
form_pacient.DBGrid_pacient.Columns[4].Width := 150;
form_pacient.DBGrid_pacient.Columns[5].Width := 150;
form_pacient.DBGrid_pacient.Columns[6].Width := 150;
form_pacient.DBGrid_pacient.Columns[7].Width := 150;
form_pacient.DBGrid_pacient.Columns[8].Visible := False;
end;
procedure TForm_pacient.clear_label;
begin
form_pacient.Label6.Caption := ''; form_pacient.Label7.Caption := '';
form_pacient.Label8.Caption := ''; form_pacient.Label9.Caption := '';
116
form_pacient.Label10.Caption := ''; form_pacient.Label11.Caption := '';
form_pacient.Label14.Caption := ''; form_pacient.Label15.Caption := '';
end;
procedure TForm_pacient.FormCreate(Sender: TObject);
begin clear_label; view_pol();end;
procedure TForm_pacient.FormShow(Sender: TObject);
begin view_pacient;end;
procedure TForm_pacient.view_pol();
var buf_zapros : string;
begin
//чищу содержимое комбобокса
Form_pacient.ComboBox_pol.Items.Clear;
//вставляю логин
buf_zapros := 'SELECT name_pol from pol ORDER BY id_pol;';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.Open;
datamodule1.Query_buf.First; while not datamodule1.Query_buf.Eof do
begin
Form_pacient.ComboBox_pol.Items.Add(datamodule1.Query_buf.Fields[0].asstring);
datamodule1.Query_buf.Next;
end;
Form_pacient.ComboBox_pol.ItemIndex := 0;
end;
end.
Файл form_street.pas
unit Form__street;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Data.DB;
type
TForm_street = class(TForm)
DBGrid_street: TDBGrid;
GroupBox1: TGroupBox;
Edit_street: TEdit;
Label1: TLabel;
Label2: TLabel;
Button_add: TButton;
Button_delete: TButton;
Button_update: TButton;
Label_id: TLabel;
procedure Button_addClick(Sender: TObject);
procedure clear_label;
procedure FormCreate(Sender: TObject);
procedure add_street;
procedure update_street;
procedure Button_deleteClick(Sender: TObject);
procedure Button_updateClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_street: TForm_street;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_street.Button_addClick(Sender: TObject);
var buf_kav : string;

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)