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

📄 u_tj.pas

📁 c/s系统。 delphi 6+access 运行前先配置数据环境:把db文件夹复制到c:下 要编译请安装第三方控件fastreport2.47 这是我的小小的毕业设计
💻 PAS
字号:
unit u_tj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DB, DBTables, Grids, DBGrids, TeEngine,
  Series, ExtCtrls, TeeProcs, Chart, DbChart, QRTEE, QuickRpt, Mask,
  QRCtrls, DBCtrls, FR_PTabl;

type
  Ttj = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Query1: TQuery;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    DBGrid1: TDBGrid;
    GroupBox6: TGroupBox;
    GroupBox5: TGroupBox;
    DBGrid2: TDBGrid;
    Edit4: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Query2: TQuery;
    Edit3: TEdit;
    Query3: TQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Query4: TQuery;
    Database1: TDatabase;
    frPrintTable1: TfrPrintTable;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
   


   
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  tj: Ttj;

implementation

uses u_wxyprint;

{$R *.dfm}

procedure Ttj.Button1Click(Sender: TObject);
var s0,d0:string;
    s1,s2,s3,d1,d2,d3:integer;
begin


if (((DataSource1.DataSet).Active=true) and((DataSource1.DataSet).RecordCount>0))or(((DataSource2.DataSet).Active=true) and((DataSource2.DataSet).RecordCount>0)) then
 begin
 button2.Enabled:=true;
 end
else
   button2.Enabled:=false;
    //检验日期的输入格式
   s0:=maskedit1.text;
   s1:=strtoint(copy(s0,1,4));
   s2:=strtoint(copy(s0,6,2));
   s3:=strtoint(copy(s0,9,2));
    d0:=maskedit2.text;
   d1:=strtoint(copy(d0,1,4));
   d2:=strtoint(copy(d0,6,2));
   d3:=strtoint(copy(d0,9,3));


  
    if (maskedit1.Text='0000-00-00') then
      begin
         showmessage('你没有输入开始时间!');
         if (maskedit2.Text='0000-00-00') then
            showmessage('你没有输入结束时间!');
      end
     else
       begin
            if (maskedit2.Text='0000-00-00') then
            showmessage('你没有输入结束时间!')
         end;
 if strtodate(s0)>strtodate(d0) then
  begin
  showmessage('开始时间必需小于结束时间!');
  end
  else
  begin
 if (s1<2003)or(d1<2003 )then
     begin
       showmessage(' 输入的年份不是有效数字,请输入一个2002以后的数值');
     end
  else
     begin
         if (s2<1)or(s2>12)or(d2<1)or(d2>12) then
       begin
         showmessage('输入的月份不是有效数字请输入一介于1和12之间的数值');
       end
         else
           begin
             if (s3<1)or(s3>31)or(d3<1)or(d3>31) then
                    begin
                         showmessage('输入的日期不是有效数字请输入一介于1和31之间的数值');
                    end
               else

                        //

               if( edit2.Text<>'')and(checkbox2.Checked=false)then
                     begin
                    showmessage('请确认!');
                    end
                    else
                if( edit2.Text='')and(checkbox2.Checked=true)then
                     begin
                    showmessage('请输入维修员名字!');
                     end
                     else
              if( edit2.Text='')and(checkbox2.Checked=false) and ( edit1.Text='')and(checkbox1.Checked=false)  then
                     begin
                    showmessage('你没有选择统计对象!');
                    end
                    else
             if (checkbox1.Checked=true)and(checkbox2.Checked=true) then
                    begin
                    showmessage('你不能同时统计两个对象!请选择其中之一。');
                    end
              else
              if ( edit1.Text<>'')and(checkbox1.Checked=true)and (checkbox2.Checked=false)then
      {统计维修车辆的修理情况    }
     begin
     query1.Close;
     query1.SQL.Clear;
     query1.SQL.add('select 修理句,故障句,维修地点,维修员,检验员,报修时间,修完时间 ') ;
     query1.SQl.Add('FROM bxb inner join xlb on  bxb.报修序号=xlb.报修序号');
     query1.sql.Add('where 车辆号码='''+edit1.text+'''') ;
     query1.sql.Add ( 'and 修完时间 >=:a and 修完时间<=:b  ');
     query1.ParamByName('a').Asstring:=maskedit1.text ;
     query1.ParamByName('b').Asstring:=maskedit2.text ;
     query1.Prepare;{准备展开query1语句}
     query1.Open;{展开}
     //datasource1.DataSet:=query1;
       dbgrid1.datasource:=datasource1;
      (DataSource2.DataSet).Active:=false;
     end
      
    ////////////////////////////////////////////////////////////////////
    /////////     统计对象不完全输入    /////
                else
               if( edit1.Text<>'')and(checkbox1.Checked=false)then
                     begin
                    showmessage('请确认!');
                    end;
                if( edit1.Text='')and(checkbox1.Checked=true)then
                     begin
                    showmessage('请输入车辆号码');
                     end;
      end ;
     
  ////////////////////////////////////////////////////////////////////////////

     {统计维修人员的修理情况}

     if (edit2.text<>'')and(checkbox2.Checked=true)and(checkbox1.Checked=false) then
       begin
          with groupbox5 do
            begin

     query3.Close;
     query3.SQL.Clear;
     query3.SQL.add('select 修理句,故障句,检验员,车辆号码,报修时间,修完时间 ') ;
     query3.SQl.Add('FROM bxb inner join xlb on  bxb.报修序号=xlb.报修序号');
     query3.sql.Add('where 维修员='''+edit2.text+'''') ;
     query3.sql.Add ( 'and( 修完时间 >=:a  and 修完时间<=:b )')  ;

     query3.ParamByName('a').Asstring:=maskedit1.text ;
     query3.ParamByName('b').Asstring:=maskedit2.text ;
     query3.Prepare;{准备展开query1语句}
     query3.Open;
     // datasource2.DataSet:=query3;
       dbgrid2.datasource:=datasource2;
      (DataSource1.DataSet).Active:=false;
        ////////////////////////////////////////////////////////////////////
        {统计维修人员的总维修工时}
     query4.Close;
     query4.SQL.Clear;
     query4.SQL.add('select sum(维修工时)') ;
     query4.SQl.Add('from xlb');
     query4.sql.Add('where 维修员='''+edit2.text+'''') ;
     query4.sql.Add ( 'and( 修完时间 >=:a  and 修完时间<=:b) ');

     query4.ParamByName('a').Asstring:=maskedit1.text ;
     query4.ParamByName('b').Asstring:=maskedit2.text ;

     query4.Prepare;
     query4.Open;
     edit3.text:=query4.fields[0].AsString;

     //////////////////////////////////////
    //统计维修人员的总维修耗时
    query2.Close;
     query2.SQL.Clear;
     query2.SQL.add('select sum(维修耗时)') ;
     query2.SQl.Add('from xlb');
     query2.sql.Add('where 维修员='''+edit2.text+'''') ;
     query2.sql.Add ( 'and (修完时间 >=:a  and 修完时间<=:b) ');

     query2.ParamByName('a').Asstring:=maskedit1.text ;
     query2.ParamByName('b').Asstring:=maskedit2.text ;

     query2.Prepare;
     query2.Open;
     edit4.text:=query2.fields[0].asstring;
             end;
       end;

   //////////////////////////////////////////////////////////////////
    end;
   end;
   end;
/////////////////////////////////////////////////////////////////////////////////



procedure Ttj.Button2Click(Sender: TObject);
begin

   if ((DataSource2.DataSet).Active=true) and ((DataSource2.DataSet).RecordCount>0) then
   begin
   wxyprint:=twxyprint.create(self);
   wxyprint.QuickRep1.dataset:=query3;
   wxyprint.qrdbtext1.dataset:=query3;
   wxyprint.qrdbtext2.dataset:=query3;
   wxyprint.qrdbtext3.dataset:=query3;
   wxyprint.qrdbtext4.dataset:=query3;
   wxyprint.qrdbtext5.dataset:=query3;
   wxyprint.qrdbtext6.dataset:=query3;
   wxyprint.qrlabel2.caption:='维修员:'+ edit2.Text;
   wxyprint.qrlabel4.caption:= '时间段:   '+maskedit1.Text+'---'+maskedit2.text;
   wxyprint.qrlabel8.caption:='维修总耗时:   '+edit3.Text;
   wxyprint.qrlabel3.caption:='维修总工时:   '+edit4.text;
   wxyprint.quickrep1.preview;
   button2.Enabled:=false;

  { edit2.Text:='';
   checkbox2.Checked:=false;
   maskedit1.Text:='0000-00-00';
   maskedit2.Text:='0000-00-00';
   (DataSource2.DataSet).Active:=false;
   edit3.Text='';
   edit4.Text='';}

   //datasource2.DataSet:=nil;
   end

 else
 begin

     frprinttable1.PageHeader.Text:='车辆号码:  '+edit1.Text;

     frPrintTable1.ShowReport;
      button2.Enabled:=false;
     //datasource1.DataSet:=nil;
  end;

   {edit1.Text:='';
   checkbox1.Checked:=false;
   maskedit1.Text:='0000-00-00';
   maskedit2.Text:='0000-00-00';}
   //(DataSource1.DataSet).Active:=false;
   
end;

procedure Ttj.RadioButton2Click(Sender: TObject);
begin
 if radiobutton2.Checked=true then

     groupbox6.Visible:=true;
     groupbox5.Visible:=false;
     
end;

procedure Ttj.RadioButton1Click(Sender: TObject);
begin
 if radiobutton1.Checked=true then

       groupbox5.Visible:=true;
      groupbox6.Visible:=false;

end;

procedure Ttj.CheckBox1Click(Sender: TObject);
begin
    if checkbox1.checked=true then
     groupbox6.Visible:=true;
     groupbox5.Visible:=false;
end;

procedure Ttj.CheckBox2Click(Sender: TObject);
begin
       if checkbox2.checked=true then
       groupbox5.Visible:=true;
      groupbox6.Visible:=false;
end;



procedure Ttj.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//datasource1.DataSet:=nil;
//datasource2.DataSet:=nil;
     //(DataSource2.DataSet).Active:=false;
     //(DataSource1.DataSet).Active:=false;
    dbgrid1.datasource:=nil;
    dbgrid2.datasource:=nil;
     edit3.text:='';
     edit4.Text:='';
     edit1.text:='';
     edit2.Text:='';
     checkbox1.Checked:=false;
    checkbox2.Checked:=false;
    maskedit1.Text:='0000-00-00';
    maskedit2.Text:='0000-00-00';
    button2.Enabled:=false;
end;




end.




⌨️ 快捷键说明

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