?? unit1.~pas
字號:
SQL.Clear;
SQL.Text := 'insert into Print(ID,BianHao,XingMing,XingBie,ChuShengNianYue,NianLing,XiangZhen,ZhuZhi,YiLiaoZhengHao,ShenFenZheng,';
SQL.Add('BingZhong,mxb1,mxb2,mxb3,mxb4,DianHua,yx_yy,yx_mm,yx_dd,fz_yyyy,fz_mm,fz_dd,MenZhenBianHao)');
SQL.Add(' values(:ID,:BianHao,:XingMing,:XingBie,:ChuShengNianYue,:NianLing,:XiangZhen,:ZhuZhi,:YiLiaoZhengHao,:ShenFenZheng,');
SQL.Add(':BingZhong,:mxb1,:mxb2,:mxb3,:mxb4,:DianHua,:yx_yy,:yx_mm,:yx_dd,:fz_yyyy,:fz_mm,:fz_dd,:MenZhenBianHao)');
Parameters.ParamByName('ID').Value := ADOQSelect.FieldByName('ID').AsString;
Parameters.ParamByName('BianHao').Value := ADOQSelect.FieldByName('BianHao').AsString;
Parameters.ParamByName('XingMing').Value := ADOQSelect.FieldByName('XingMing').AsString;
Parameters.ParamByName('XingBie').Value := ADOQSelect.FieldByName('XingBie').AsString;
Parameters.ParamByName('ChuShengNianYue').Value := yyyymm;
Parameters.ParamByName('NianLing').Value := ADOQSelect.FieldByName('NianLing').AsInteger;
Parameters.ParamByName('XiangZhen').Value := ADOQSelect.FieldByName('XiangZhen').AsString;
Parameters.ParamByName('ZhuZhi').Value := ADOQSelect.FieldByName('ZhuZhi').AsString;
Parameters.ParamByName('YiLiaoZhengHao').Value := Copy(Trim(ADOQSelect.FieldByName('YiLiaoZhengHao').AsString),7,10); //371312 0401001770
Parameters.ParamByName('ShenFenZheng').Value := ADOQSelect.FieldByName('ShenFenZheng').AsString;
Parameters.ParamByName('BingZhong').Value := ADOQSelect.FieldByName('BingZhong').AsString;
Parameters.ParamByName('mxb1').Value := mxb1;
Parameters.ParamByName('mxb2').Value := mxb2;
Parameters.ParamByName('mxb3').Value := mxb3;
Parameters.ParamByName('mxb4').Value := mxb4;
Parameters.ParamByName('DianHua').Value := ADOQSelect.FieldByName('DianHua').AsString;
Parameters.ParamByName('yx_yy').Value := yx_yy;
Parameters.ParamByName('yx_mm').Value := yx_mm;
Parameters.ParamByName('yx_dd').Value := yx_dd;
Parameters.ParamByName('fz_yyyy').Value := fz_yyyy;
Parameters.ParamByName('fz_mm').Value := fz_mm;
Parameters.ParamByName('fz_dd').Value := fz_dd;
Parameters.ParamByName('MenZhenBianHao').Value := ADOQSelect.FieldByName('MenZhenBianHao').AsString;;
ExecSQL;
end;
with ADOQPrint2 do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from Print';
Open;
end;
if ADOQPrint2.RecordCount = 1 then
begin
if FileExists(sTemplateName) then
begin
ppReport1.Template.FileName := sTemplateName;
ppReport1.Template.LoadFromFile;
end
else
begin
ppReport1.Template.New;
ppReport1.Template.FileName := sTemplateName;
end;
if CheckBox1.Checked then
ppDesigner1.ShowModal
else
begin
ppReport1.DeviceType := 'Printer';
ppReport1.ShowPrintDialog := False;
ppReport1.Print;
StatusBar1.Panels[0].Text := ADOQPrint2.FieldByName('XingMing').AsString + ' 的醫療證已打印.';
WriteLog(ADOQPrint2.FieldByName('XingMing').AsString + '...'+ '371312' +ADOQPrint2.FieldByName('YiLiaoZhengHao').AsString + ' 的醫療證已打印.');
end
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form1.Caption := '新型農村合作醫療慢性病醫療證';
Edit1.Clear;
Edit2.Clear;
ComboBox1.ItemIndex := -1;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Edit11.Clear;
Edit12.Clear;
Edit13.Clear;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text := 'select distinct XiangZhen from YiLiaoZheng';
Open;
end;
ComboBox1.Clear;
ComboBox1.Items.Add('--全部--');
while not ADOQuery1.Eof do
begin
ComboBox1.Items.Add(Trim(ADOQuery1.FieldByName('XiangZhen').AsString));
ADOQuery1.Next;
end;
ADOQuery1.Close;
RB03.Checked := True;
ComboBox1.ItemIndex := 0;
bbtnSelectClick(Sender);
end;
procedure TForm1.Edit2Enter(Sender: TObject);
begin
RB02.Checked := True;
end;
procedure TForm1.ComboBox1Enter(Sender: TObject);
begin
rb03.Checked := True;
end;
procedure TForm1.Edit1Enter(Sender: TObject);
begin
rb01.Checked := True;
end;
procedure TForm1.ADOQSelectAfterScroll(DataSet: TDataSet);
begin
Edit3.Text := Trim(ADOQSelect.FieldByName('XingMing').AsString);
Edit4.Text := Trim(ADOQSelect.FieldByName('DianHua').AsString);
Edit5.Text := Trim(ADOQSelect.FieldByName('XiangZhen').AsString);
Edit6.Text := Trim(ADOQSelect.FieldByName('ZhuZhi').AsString);
Edit7.Text := Trim(ADOQSelect.FieldByName('YiLiaoZhengHao').AsString);
Edit8.Text := Trim(ADOQSelect.FieldByName('ShenFenZheng').AsString);
Edit9.Text := Trim(ADOQSelect.FieldByName('BingZhong').AsString);
Edit10.Text := Trim(ADOQSelect.FieldByName('XingBie').AsString);
Edit11.Text := Trim(ADOQSelect.FieldByName('BianHao').AsString);
Edit12.Text := Trim(ADOQSelect.FieldByName('MenZhenBianHao').AsString);
end;
procedure TForm1.bbtnSaveClick(Sender: TObject);
var
i_no_ADOQSelect : integer;
ManXingBing : String;
begin
if (ADOQSelect.Active) and (ADOQSelect.RecordCount > 0 ) then
i_no_ADOQSelect := ADOQSelect.RecNo
else
i_no_ADOQSelect := 0;
if Trim(Edit11.Text) = '' then
begin
ShowMessage('編號 不能為空,只能為數字');
Edit11.SetFocus;
Exit;
end;
if Trim(Edit3.Text) = '' then
begin
ShowMessage('姓名 不能為空');
Edit3.SetFocus;
Exit;
end;
if Trim(Edit10.Text) = '' then
begin
ShowMessage('性別 不能為空');
Edit10.SetFocus;
Exit;
end;
if Trim(Edit5.Text) = '' then
begin
ShowMessage('鄉鎮 不能為空');
Edit5.SetFocus;
Exit;
end;
if Trim(Edit6.Text) = '' then
begin
ShowMessage('住址 不能為空');
Edit6.SetFocus;
Exit;
end;
if Trim(Edit7.Text) = '' then
begin
ShowMessage('醫療證號 不能為空');
Edit7.SetFocus;
Exit;
end;
if Trim(Edit8.Text) = '' then
begin
ShowMessage('身份證號碼不能為空');
Edit8.SetFocus;
Exit;
end;
if Trim(Edit9.Text) = '' then
begin
ShowMessage('慢性病種 不能為空');
Edit9.SetFocus;
Exit;
end;
if Trim(Edit12.Text) = '' then
begin
ShowMessage('門診醫療證編號 不能為空');
Edit12.SetFocus;
Exit;
end;
if Copy(Trim(Edit9.Text),Length(Trim(Edit9.Text)), 1) <> ';' then
ManXingBing := Trim(Edit9.Text) + ';'
else
ManXingBing := Trim(Edit9.Text);
with ADOQSave do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from YiLiaoZheng where ShenFenZheng = :ShenFenZheng';
Parameters.ParamByName('ShenFenZheng').Value := Trim(Edit8.Text);
Open;
end;
if ADOQSave.RecordCount = 0 then //insert
begin
//showmessage('insert');
with ADOQSave do
begin
Close;
SQL.Clear;
SQL.Text := 'insert into YiLiaoZheng(BianHao,XingMing,XingBie,XiangZhen,ZhuZhi,YiLiaoZhengHao,ShenFenZheng,BingZhong,DianHua,MenZhenBianHao)';
SQL.Add(' values(:BianHao,:XingMing,:XingBie,:XiangZhen,:ZhuZhi,:YiLiaoZhengHao,:ShenFenZheng,:BingZhong,:DianHua,:MenZhenBianHao)');
Parameters.ParamByName('BianHao').Value := Trim(Edit11.Text);
Parameters.ParamByName('XingMing').Value := Trim(Edit3.Text);
Parameters.ParamByName('XingBie').Value := Trim(Edit10.Text);
Parameters.ParamByName('XiangZhen').Value := Trim(Edit5.Text);
Parameters.ParamByName('ZhuZhi').Value := Trim(Edit6.Text);
Parameters.ParamByName('YiLiaoZhengHao').Value := Trim(Edit7.Text);
Parameters.ParamByName('ShenFenZheng').Value := Trim(Edit8.Text);
Parameters.ParamByName('BingZhong').Value := ManXingBing;
Parameters.ParamByName('DianHua').Value := Trim(Edit4.Text);
Parameters.ParamByName('MenZhenBianHao').Value := Trim(Edit12.Text);
ExecSQL;
end;
bbtnSelectClick(Sender);
ADOQSelect.MoveBy(i_no_ADOQSelect);
end
else if ADOQSave.RecordCount = 1 then //Update
begin
with ADOQSave do
begin
Close;
SQL.Clear;
SQL.Text := 'update YiLiaoZheng set';
SQL.Add('BianHao = :BianHao,');
SQL.Add('XingMing = :XingMing,');
SQL.Add('XingBie = :XingBie,');
SQL.Add('XiangZhen = :XiangZhen,');
SQL.Add('ZhuZhi = :ZhuZhi,');
SQL.Add('YiLiaoZhengHao = :YiLiaoZhengHao,');
SQL.Add('BingZhong = :BingZhong,');
SQL.Add('DianHua = :DianHua,');
SQL.Add('MenZhenBianHao = :MenZhenBianHao');
SQL.Add(' where ShenFenZheng = :ShenFenZheng');
Parameters.ParamByName('BianHao').Value := Trim(Edit11.Text);
Parameters.ParamByName('XingMing').Value := Trim(Edit3.Text);
Parameters.ParamByName('XingBie').Value := Trim(Edit10.Text);
Parameters.ParamByName('XiangZhen').Value := Trim(Edit5.Text);
Parameters.ParamByName('ZhuZhi').Value := Trim(Edit6.Text);
Parameters.ParamByName('YiLiaoZhengHao').Value := Trim(Edit7.Text);
Parameters.ParamByName('BingZhong').Value := ManXingBing;
Parameters.ParamByName('DianHua').Value := Trim(Edit4.Text);
Parameters.ParamByName('MenZhenBianHao').Value := Trim(Edit12.Text);
Parameters.ParamByName('ShenFenZheng').Value := Trim(Edit8.Text);
ExecSQL;
end;
bbtnSelectClick(Sender);
ADOQSelect.MoveBy(i_no_ADOQSelect - 1);
end
else if ADOQSave.RecordCount > 1 then //Error
begin
ShowMessage('身份證號碼重復太多,請檢查!!!');
Edit8.SetFocus;
Exit;
end;
end;
procedure TForm1.bbtnClearClick(Sender: TObject);
begin
//RB01.Checked := True;
if not RB01.Checked then
Edit1.Clear;
if not RB02.Checked then
Edit2.Clear;
if not RB03.Checked then
ComboBox1.ItemIndex := -1;
if not RB04.Checked then
Edit13.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Edit11.Clear;
Edit12.Clear;
CheckBox1.Checked := False;
//ADOQSelect.Close;
DateTimePicker1.Date := now;
DateTimePicker2.Date := now;
//Edit1.SetFocus;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
FileName : String;
begin
FileName := ExtractFilePath(Paramstr (0)) + 'YLZ.mdb';
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';Persist Security Info=true';
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i_no_ADOQSelect : integer;
begin
if (not ADOQSelect.Active) or (ADOQSelect.RecordCount <= 0) then Exit;
i_no_ADOQSelect := ADOQSelect.RecNo;
if MessageBox(Handle,PChar('確認要刪除?' + #13#10#13#10 + '姓名:' + ADOQSelect.FieldByName('XingMing').AsString + #13#10 + '醫療證號:' + ADOQSelect.FieldByName('YiLiaoZhengHao').AsString),'提示',MB_YESNO + MB_ICONQUESTION) = IDYES then
begin
with ADOQSave do
begin
Close;
SQL.Clear;
SQL.Text := 'delete from YiLiaoZheng where ID = :ID';
Parameters.ParamByName('ID').Value := ADOQSelect.FieldByName('ID').AsInteger;
ExecSQL;
end;
bbtnSelectClick(Sender);
ADOQSelect.MoveBy(i_no_ADOQSelect - 1);
end
end;
procedure TForm1.Edit13Enter(Sender: TObject);
begin
RB04.Checked := True;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -