sfsj.pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 352 行

PAS
352
字号
unit SFSJ;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, RpCon, RpConDS, RVClass,RVProj,RVCsStd,StdCtrls, RpBase, RpSystem, RpDefine,
  RpRave, ExtCtrls, DBCtrls, ComCtrls, Mask, Grids, DBGrids;

type
  TSFSJFrm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Button3: TButton;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBComboBox1: TDBComboBox;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    DBEdit5: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    ADOQuery2: TADOQuery;
    Button4: TButton;
    DBEdit6: TDBEdit;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    DBNavigator1: TDBNavigator;
    ADOQuery3: TADOQuery;
    DataSource2: TDataSource;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure DBEdit5Change(Sender: TObject);
    procedure DBEdit6Change(Sender: TObject);
    procedure DBEdit7Change(Sender: TObject);
    procedure DBEdit8Change(Sender: TObject);
    procedure DBEdit9Change(Sender: TObject);
    procedure DBEdit10Change(Sender: TObject);
    procedure DBEdit11Change(Sender: TObject);
    procedure DBEdit12Change(Sender: TObject);
    procedure DBEdit13Change(Sender: TObject);
    procedure DBEdit14Change(Sender: TObject);
    procedure DBEdit15Change(Sender: TObject);
    procedure DBEdit16Change(Sender: TObject);
    procedure DBEdit17Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SFSJFrm: TSFSJFrm;

implementation

uses Login, Main;

{$R *.dfm}

procedure TSFSJFrm.FormCreate(Sender: TObject);
begin
     
   ADOtable1.first;
   while not ADOtable1.eof do
      begin
       dbcombobox1.items.insert(-1,ADOtable1.fieldbyname('BMMC').asstring);
       ADOtable1.Next;
      end;
   pagecontrol1.activepage:=tabsheet1;
   dbedit2.text:=datetostr(Date);
   dbedit3.text:=LoginFrm.edit1.Text;
end;

procedure TSFSJFrm.Button1Click(Sender: TObject);
var SJDH:string;
begin
   
   with ADOQuery1 do
     begin
       close;
       sql.clear;
       sql.add('select top 1 * from SFSJ order by SJDH desc');
       open;
       first;
       if fieldbyname('Date').asstring=datetostr(Date) then
          dbedit1.text:=floattostr(fieldbyname('SJDH').asfloat+1)
       else
          dbedit1.text:=floattostr(strtofloat(formatdatetime('yyyy""mm""dd',Date))*10000+1);
       SJDH:=dbedit1.text;
       dbedit2.text:=datetostr(Date);
       dbedit3.text:=LoginFrm.edit1.Text;
       dbcombobox1.text:='';
       dbedit4.text:='';

       sql.add('insert into SFSJ (SJDH,Date,JSR,BMMC,BRXM,XY,ZCN,ZCY,CGJC,CT,MRI,XRAY,SY,SX,SH,ZL,HY,QT,Total)values (' );
       sql.add(''''+dbedit1.text+''''+','+''''+dbedit2.text+''''+',');
       sql.add(''''+dbedit3.text+''''+','+''''+dbcombobox1.text+''''+',');
       sql.add(''''+dbedit4.text+''''+',0,0,0,0,0,0,0,0,0,0,0,0,0,0)');
       execsql;
     end;

     with ADOQuery2 do
      begin
       close;
       sql.clear;
       sql.add('select  * from SFSJ where SJDH='+''''+SJDH+'''');
       open;
       first;
      end;
end;

procedure TSFSJFrm.Button3Click(Sender: TObject);
var SJDH:string;
begin
   SJDH:=dbedit1.text;
   dbedit18.text:=floattostr(strtofloat(dbedit5.text)+strtofloat(dbedit6.text)+strtofloat(dbedit7.text)+strtofloat(dbedit8.text)+strtofloat(dbedit9.text)+strtofloat(dbedit10.text)+strtofloat(dbedit11.text)+strtofloat(dbedit12.text)+strtofloat(dbedit13.text)+strtofloat(dbedit14.text)+strtofloat(dbedit15.text)+strtofloat(dbedit16.text)+strtofloat(dbedit17.text));
   with ADOQuery1 do
     begin
       close;
       sql.clear;
       sql.add('update SFSJ set BMMC='+''''+dbcombobox1.text+''''+',');
       sql.add('BRXM='+''''+dbedit4.text+''''+',XY='+''''+dbedit5.text+''''+',');
       sql.add('ZCN='+''''+dbedit6.text+''''+',ZCY='+''''+dbedit7.text+''''+',');
       sql.add('CGJC='+''''+dbedit8.text+''''+',CT='+''''+dbedit9.text+''''+',');
       sql.add('MRI='+''''+dbedit10.text+''''+',XRAY='+''''+dbedit11.text+''''+',');
       sql.add('SY='+''''+dbedit12.text+''''+',SX='+''''+dbedit13.text+''''+',');
       sql.add('SH='+''''+dbedit14.text+''''+',ZL='+''''+dbedit15.text+''''+',');
       sql.add('HY='+''''+dbedit16.text+''''+',QT='+''''+dbedit17.text+''''+',');
       sql.add('Total='+''''+dbedit18.text+''''+'where SJDH='+''''+dbedit1.text+'''');
       execsql;
     end;
   with ADOQuery2 do
     begin
       close;
       sql.clear;
       sql.add('select  * from SFSJ where SJDH='+''''+SJDH+'''');
       open;
       first;
     end;

end;

procedure TSFSJFrm.Button4Click(Sender: TObject);
begin
    SFSJFrm.hide;
end;

procedure TSFSJFrm.DBEdit5Change(Sender: TObject);
begin
     if dbedit5.text='' then
       dbedit5.text:='0';
end;
procedure TSFSJFrm.DBEdit6Change(Sender: TObject);
begin
   if dbedit6.text='' then
       dbedit6.text:='0';
 end;

procedure TSFSJFrm.DBEdit7Change(Sender: TObject);
begin
   if dbedit7.text='' then
       dbedit7.text:='0';
end;

procedure TSFSJFrm.DBEdit8Change(Sender: TObject);
begin
   if dbedit8.text='' then
       dbedit8.text:='0';

end;

procedure TSFSJFrm.DBEdit9Change(Sender: TObject);
begin
  if dbedit9.text='' then
       dbedit9.text:='0';
end;

procedure TSFSJFrm.DBEdit10Change(Sender: TObject);
begin
   if dbedit10.text='' then
       dbedit10.text:='0';
end;

procedure TSFSJFrm.DBEdit11Change(Sender: TObject);
begin
   if dbedit11.text='' then
       dbedit11.text:='0';
end;

procedure TSFSJFrm.DBEdit12Change(Sender: TObject);
begin
  if dbedit12.text='' then
       dbedit12.text:='0';
end;

procedure TSFSJFrm.DBEdit13Change(Sender: TObject);
begin
   if dbedit13.text='' then
       dbedit13.text:='0';
end;

procedure TSFSJFrm.DBEdit14Change(Sender: TObject);
begin
 if dbedit14.text='' then
       dbedit14.text:='0';
end;

procedure TSFSJFrm.DBEdit15Change(Sender: TObject);
begin
 if dbedit15.text='' then
       dbedit15.text:='0';
end;

procedure TSFSJFrm.DBEdit16Change(Sender: TObject);
begin
  if dbedit16.text='' then
       dbedit16.text:='0';
end;

procedure TSFSJFrm.DBEdit17Change(Sender: TObject);
begin
    if dbedit17.text='' then
       dbedit17.text:='0';
end;

procedure TSFSJFrm.Button2Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('SFSJReport');
    MainFrm.RvProject1.Close;
end;

procedure TSFSJFrm.TabSheet2Show(Sender: TObject);
begin
    edit3.Text:=datetostr(date);
    radiobutton1.checked:=true;
end;

procedure TSFSJFrm.Button6Click(Sender: TObject);
begin
   SFSJFrm.Hide;
end;

procedure TSFSJFrm.Button5Click(Sender: TObject);
var query:string;
begin
    query:='';
    if Radiobutton1.checked=true then
       if edit1.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from SFSJ where SJDH like'+''''+'%'+edit1.text+'%'+''''+'order by SJDH desc';
    if Radiobutton2.checked=true then
       if edit2.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from SFSJ  where BRXM like'+''''+'%'+edit2.text+'%'+''''+'order by SJDH desc';
    if Radiobutton3.checked=true then
       if edit3.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from SFSJ  where Date ='+''''+edit3.text+''''+'order by SJDH desc';
    if Radiobutton4.checked=true then
       if edit4.text='' then
          showmessage('请输入相应查询条件')
       else
          query:='select * from SFSJ  where JSR like'+''''+'%'+edit4.text+'%'+''''+'order by SJDH desc';
    
   if query<>'' then
    begin
    with ADOQuery3 do
     begin
       close;
       sql.clear;
       sql.add(query);
       open;
       first;
       if recordcount=0 then
           showmessage('对不起,没有符合条件的查询结果!请重新查询!')
       else
          Groupbox4.caption:='查询结果共'+floattostr(recordcount)+'条记录'
     end;
    end;     
end;

procedure TSFSJFrm.Button7Click(Sender: TObject);
begin
    MainFrm.RvProject1.Open;
    MainFrm.RvProject1.ExecuteReport('SJCXReport');
    MainFrm.RvProject1.Close;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?