📄 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 + -