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

📄 uquerygroup.pas

📁 港口货物管理系统
💻 PAS
字号:
unit uquerygroup;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, Grids, DBGrids, DB, DBTables,
  ExtCtrls, DBCtrls;

type
  Tfmquerygroup = class(TForm)
    GroupBox1: TGroupBox;
    RadioGroup1: TRadioGroup;
    GroupBox2: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox3: TCheckBox;
    DataSource1: TDataSource;
    Table1: TTable;
    Table2: TTable;
    DBGrid1: TDBGrid;
    BitBtn3: TBitBtn;
    CheckBox2: TCheckBox;
    Query1: TQuery;
    DBLookupComboBox1: TDBLookupComboBox;
    DataSource2: TDataSource;
    DBLookupComboBox2: TDBLookupComboBox;
    Query2: TQuery;
    DataSource3: TDataSource;
    Table1Ddate: TStringField;
    Table1Atnum: TStringField;
    Table1Agname: TStringField;
    Table1Adime: TStringField;
    Table1Ncoil: TFloatField;
    Table1Nton: TFloatField;
    Table1Atname: TStringField;
    Table1Aqd: TStringField;
    Table1Aspot: TStringField;
    Table1Agoodd: TStringField;
    Table1Lout: TBooleanField;
    Table1Auser: TStringField;
    Table1Abz: TStringField;
    Table2Ddate: TStringField;
    Table2Atnum: TStringField;
    Table2Agname: TStringField;
    Table2Adime: TStringField;
    Table2Ncoil: TFloatField;
    Table2Nton: TFloatField;
    Table2Atname: TStringField;
    Table2Aqd: TStringField;
    Table2Aspot: TStringField;
    Table2Agoodd: TStringField;
    Table2Auser: TStringField;
    Table2Adir: TStringField;
    Table2Abz: TStringField;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Table1Agroup: TStringField;
    Table2Agroup: TStringField;
    Query3: TQuery;
    StatusBar1: TStatusBar;
    BitBtn1: TBitBtn;
    GroupBox3: TGroupBox;
    Bevel1: TBevel;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure RadioGroup1Enter(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    cxok:boolean;{ Private declarations }
  public
    { Public declarations }
  end;

var
  fmquerygroup: Tfmquerygroup;

implementation

uses ulogin, udm_user, uprintdbgrid;

{$R *.dfm}

procedure Tfmquerygroup.FormCreate(Sender: TObject);
begin
application.OnMessage:=fmlogin.doenterastab;
combobox1.ItemIndex:=strtoint(formatdatetime('mm',now))-1;
combobox1.Visible:=false;
dblookupcombobox2.Visible:=false;
dblookupcombobox1.Visible:=false;
query3.close;
query3.SQL.clear;
query3.SQL.add('select ddate ,atnum ,agname ,adime ,ncoil,nton,atname,aqd,agoodd,auser,abz,agroup from mimport');
query3.SQL.add(' union select ddate,atnum,agname,adime,ncoil,nton,atname,aqd,agoodd,auser,abz,agroup from mexport');

bitbtn1.Enabled:=false;
end;

procedure Tfmquerygroup.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then combobox1.Visible:=true
else combobox1.Visible:=false;

radiogroup1.ItemIndex:=-1;
end;


procedure Tfmquerygroup.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
dblookupcombobox2.Visible:=true
else
begin
dblookupcombobox2.Visible:=false;
end;
radiogroup1.ItemIndex:=-1;
end;

procedure Tfmquerygroup.CheckBox3Click(Sender: TObject);
begin
if checkbox3.Checked then dblookupcombobox1.Visible:=true
else
begin
dblookupcombobox1.Visible:=false;
end;
radiogroup1.ItemIndex:=-1;
end;

procedure Tfmquerygroup.RadioGroup1Click(Sender: TObject);
var fstr:string;
     i:integer;
     nc:integer;
     nt:single;
begin
fstr:='';
if checkbox1.Checked then
begin
 if combobox1.ItemIndex<>12 then
 fstr:='ddate='''+formatdatetime('yyyy-',now)+combobox1.Text+'*'+''''
 else
 fstr:='ddate<>'''+'''';

 if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then fstr:=fstr+' and agroup='''+trim(dblookupcombobox2.Text)+'''';
 if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
begin
if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then
begin
fstr:=fstr+'agroup='''+trim(dblookupcombobox2.Text)+'''';
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' agname='''+trim(dblookupcombobox1.Text)+'''';
end;


if cxok=true then
begin
case radiogroup1.ItemIndex of
0: begin
  datasource2.DataSet:=table1;
  table1.Filter:=fstr;
  table1.Filtered:=true;
  table1.Open;
  end;

1:
  begin
   datasource2.DataSet:=table2;
   table2.Filter:=fstr;
   table2.Filtered:=true;
   table2.Open;
  end;
2:
  begin
  datasource2.DataSet:=query3;
  query3.Open;
  query3.Filter:=fstr;
  query3.Filtered:=true;
   dbgrid1.Columns[0].title.caption:='日期';
   dbgrid1.Columns[1].title.caption:='提单号';
   dbgrid1.Columns[2].title.caption:='货名';
   dbgrid1.Columns[3].title.caption:='规格';
   dbgrid1.Columns[4].title.caption:='件数';
   dbgrid1.Columns[5].title.caption:='吨位';
   dbgrid1.Columns[6].title.caption:='货物工具名';
   dbgrid1.Columns[7].title.caption:='货物渠道名';
   dbgrid1.Columns[8].title.caption:='货代';
   dbgrid1.Columns[9].title.caption:='操作用户';
   dbgrid1.Columns[10].title.caption:='备注';
   dbgrid1.Columns[11].title.caption:='用户组名';
   end;
end;
 nc:=0;
 nt:=0.000;
datasource2.dataset.First;
for i:=1 to datasource2.DataSet.RecordCount do
begin
nc:=nc+datasource2.DataSet.FieldValues['ncoil'];
nt:=nt+datasource2.DataSet.FieldValues['nton'];
datasource2.dataset.next;
end;
statusbar1.Panels[1].Text:='共有:'+inttostr(datasource2.dataset.RecordCount)+'个记录';
statusbar1.Panels[2].Text:='件数:'+inttostr(nc)+'件';
statusbar1.Panels[3].Text:='吨位:'+formatfloat('0.000',nt)+'吨';
if datasource2.DataSet.RecordCount>0 then
bitbtn1.enabled:=true
else
bitbtn1.enabled:=false;
end;
end;

procedure Tfmquerygroup.RadioGroup1Enter(Sender: TObject);
begin
cxok:=true;
if (checkbox1.Checked=false) and (checkbox2.Checked=false) and (checkbox3.Checked=false) then
begin
showmessage('查询过滤选项不能为空!');
cxok:=false;
checkbox1.SetFocus;
end;
end;

procedure Tfmquerygroup.BitBtn3Click(Sender: TObject);
begin
fmquerygroup.Close;
end;
procedure Tfmquerygroup.BitBtn1Click(Sender: TObject);
begin
fmuser.fmid:=4;
application.CreateForm(tfmprintdbgrid,fmprintdbgrid);
fmprintdbgrid.showmodal;
end;

procedure Tfmquerygroup.FormActivate(Sender: TObject);
begin
fmquerygroup.RadioGroup1.ItemIndex:=2;
fmquerygroup.DataSource2.DataSet:=query3;
query3.Open;
dbgrid1.Columns[0].title.caption:='日期';
dbgrid1.Columns[1].title.caption:='提单号';
dbgrid1.Columns[2].title.caption:='货名';
dbgrid1.Columns[3].title.caption:='规格';
dbgrid1.Columns[4].title.caption:='件数';
dbgrid1.Columns[5].title.caption:='吨位';
dbgrid1.Columns[6].title.caption:='货物工具名';
dbgrid1.Columns[7].title.caption:='货物渠道名';
dbgrid1.Columns[8].title.caption:='货代';
dbgrid1.Columns[9].title.caption:='操作用户';
dbgrid1.Columns[10].title.caption:='备注';
dbgrid1.Columns[11].title.caption:='用户组名';




end;

end.

⌨️ 快捷键说明

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