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