Дипломная работа: Автоматизация учета посещений клиентов на примере предприятия «Медицинский центр "Семейный доктор"»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
98
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, Buttons, ExtCtrls, Mask, DB;
type
TFmAdrEdit = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBEdit1: TDBEdit;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
DBNavigator3: TDBNavigator;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmAdrEdit: TFmAdrEdit;
implementation
99
uses UnDM;
{$R *.dfm}
procedure TFmAdrEdit.BitBtn1Click(Sender: TObject);
begin
if (DM.TbMedK.State=dsEdit) or (DM.TbMedK.State=dsInsert) then
begin
DM.TbMedK.FieldByName('уч').AsInteger :=
DM.TbUch.FieldByName('код_участка').AsInteger;
DM.TbMedK.FieldByName('ул').AsInteger :=
DM.TbUl.FieldByName('код_улицы').AsInteger;
DM.TbMedK.FieldByName('дм').AsInteger :=
DM.TbDom.FieldByName('код_дом').AsInteger;
DM.TbMedK.Post;
end;
end;
end.
unit UnDate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, ComObj;
type
TFmDate = class(TForm)
DBLookupComboBox1: TDBLookupComboBox;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
100
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
CheckBox1: TCheckBox;
procedure BitBtn1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmDate: TFmDate;
implementation
uses UnDM;
{$R *.dfm}
procedure TFmDate.BitBtn1Click(Sender: TObject);
var Excel: Variant;
WorkbookName: string;
PosInc,i : integer;
begin
if CheckBox1.Checked = false then
begin
if DBLookupComboBox1.Text <> '' then
begin
DM.QDate.Active := false;
DM.QDate.Parameters[0].Value := DBLookupComboBox1.KeyValue;
101
DM.QDate.Parameters[1].Value := DateToStr(DateTimePicker1.Date);
DM.QDate.Parameters[2].Value := DateToStr(DateTimePicker2.Date);
//.QDate.SQL
DM.QDate.Active := true;
//Выгрузка данных в Excel
WorkbookName := GetCurrentDir + '\Приемы.xlt';
Excel := CreateOleObject('Excel.Application');
try
Excel.Workbooks.Open(WorkbookName);
//Экспорт данных из таблиц БД:
Excel.WorkSheets[1].Select;
DM.QDate.First;
PosInc := 6; //Начальная позиция для счетчика
Excel.Cells[2,3] := DateToStr(DateTimePicker1.Date);
Excel.Cells[2,5] := DateToStr(DateTimePicker2.Date);
Excel.Cells[3,3] := DM.QDate.FieldByName('Фамилия').AsString;
for i:=0 to DM.QDate.RecordCount-1 do
begin
//Вывод данных в Excel
if (i <> DM.QDate.RecordCount-1) then
begin
Excel.Rows.Item[PosInc+1].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].Select;
102
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[PosInc,1] := IntToStr(i+1);
Excel.Cells[PosInc,2] := FormatDateTime('dd.mm.yyyy',
DM.QDateAll.FieldByName('Дата').AsDateTime);// + '/'+FormatDateTime('hh:nn',
DM.QDate.FieldByName('Время').AsDateTime);
Excel.Cells[PosInc,3] := DM.QDate.FieldByName('Фам').AsString ;
Excel.Cells[PosInc,4] := FormatDateTime('dd.mm.yyyy',
DM.QDateAll.FieldByName('Дата_рождения').AsDateTime);
Excel.Cells[PosInc,5] := DM.QDate.FieldByName('Серия_полиса').AsString + ' '+
DM.QDate.FieldByName('НОмер_страхового_полиса').AsString;
PosInc := PosInc +1;
DM.QDate.Next;
end; //for
Excel.WorkSheets[1].Select;
Excel.Visible := True;
Excel.WorkSheets[1].PrintPreview;
except
Excel.Quit;
end;
end
else
begin
ShowMessage('Вы не выбрали врача!');
exit;
end
end
else
begin
Источник: https://baza.diplomsite.ru/previewfile/2410