⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 新型农村合作医疗慢性病医疗证管理Delphi7 ReportBuilder
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
          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 + -