📄 scrapstorequery.pas
字号:
unit scrapstorequery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, instorequery, DB, Grids, DBGrids, ComCtrls, StdCtrls, Buttons,
ExtCtrls;
type
Tf_scrapstorequery = class(Tf_instorequery)
procedure storagefieldChange(Sender: TObject); override;
procedure QueryClick(Sender: TObject);override;
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_scrapstorequery: Tf_scrapstorequery;
implementation
uses data;
{$R *.dfm}
//在查询条件改变时,组合框中的数据会相应的改变
procedure Tf_scrapstorequery.storagefieldChange(Sender: TObject);
begin
StorageValue.Clear;
Case StorageField.ItemIndex of //根据不同的查询条件向组合框中加载不同的信息
0:
begin
With t_data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select storename from tb_storeinfo');
Open;
end;
if t_data.Query1.RecordCount>0 then //如果有数据返回,利用循环向组合框中添加信息
begin
while not t_data.Query1.Eof do
begin
StorageValue.Items.Add(Trim(t_data.Query1.Fields[0].Value));
t_data.Query1.Next;
end;
end;
end;
1,2:
begin
With t_data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select workername from tb_employeeinfo');
Open;
end;
if t_data.Query1.RecordCount>0 then
begin
while not t_data.Query1.Eof do
begin
StorageValue.Items.Add(Trim(t_data.Query1.Fields[0].Value));
t_data.Query1.Next;
end;
end;
end;
end;
end;
//处理查询按钮的单击事件
procedure Tf_scrapstorequery.QueryClick(Sender: TObject);
begin
if (Storagecon.Checked = True) or( Date.Checked = True) then //判断是否设置了查询条件
begin
if (Storagecon.Checked = True )and (Date.Checked = False)then //不按时间段查询
begin
if(Trim(StorageField.Text)<>'')and(Trim(StorageValue.Text)<>'') then
begin
With t_data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from v_scrapstorequery where ');
case Storagefield.ItemIndex of
0: SQL.Add('storename = :Value');
1: SQL.Add('principal = :Value');
2: SQL.Add('operator = :Value');
3: SQL.Add('scrapid = :Value');
end;
Parameters.ParamByName('Value').Value := Trim(Storagevalue.Text);
Open;
end;
if t_data.Query2.RecordCount>0 then //如果有数据返回,进一步统计物资报废的数量和费用
begin
With t_data.Query3 do
begin
Close;
SQL.Clear;
SQL.Add('Select sum(num) as storesum ,sum(managemoney)as totalmoney ,storename from v_scrapstorequery where ');
case Storagefield.ItemIndex of
0: SQL.Add('storename = :Value');
1: SQL.Add('principal = :Value');
2: SQL.Add('operator = :Value');
3: SQL.Add('scrapid = :Value');
end;
SQL.Add(' Group by storename');
Parameters.ParamByName('Value').Value := Trim(Storagevalue.Text);
Open;
end;
Source1.DataSet := t_data.Query2;
Source2.DataSet := t_data.Query3;
end
else
begin
Application.MessageBox('没有找到符合条件的记录.','提示',64);
Source1.DataSet := Nil;
Source2.DataSet := Nil;
end;
end;
end
else if (Storagecon.Checked = False )and (Date.Checked = True)then //按时间段查询
begin
With t_data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from v_scrapstorequery where');
SQL.Add(' TimeDate >= :FromDate and Timedate < :ToDate');
Parameters.ParamByName('FromDate').Value := Trunc(FromDate.DateTime);
Parameters.ParamByName('ToDate').Value := Trunc(ToDate.DateTime)+1;
Open;
end;
if t_data.Query2.RecordCount>0 then //如果有数据返回,进一步统计物资报废的数量和费用
begin
With t_data.Query3 do
begin
Close;
SQL.Clear;
SQL.Add('Select sum(num) as storesum , sum(managemoney)as totalmoney ,storename from v_scrapstorequery where ');
SQL.Add(' TimeDate >= :FromDate and Timedate < :ToDate');
SQL.Add(' Group by storename');
Parameters.ParamByName('FromDate').Value := Trunc(FromDate.DateTime);
Parameters.ParamByName('ToDate').Value := Trunc(ToDate.DateTime)+1;
Open;
end;
Source1.DataSet := t_data.Query2;
Source2.DataSet := t_data.Query3;
end
else
begin
Application.MessageBox('没有找到符合条件的记录.','提示',64);
Source1.DataSet := Nil;
Source2.DataSet := Nil;
end;
end
else //按查询条件和时间段查询
begin
if(Trim(StorageField.Text)<>'')and(Trim(StorageValue.Text)<>'') then
begin
With t_data.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from v_scrapstorequery where ');
case Storagefield.ItemIndex of
0: SQL.Add('storename = :Value');
1: SQL.Add('principal = :Value');
2: SQL.Add('operator = :Value');
3: SQL.Add('scrapid = :Value');
end;
SQL.Add(' and TimeDate >= :FromDate and Timedate < :ToDate');
Parameters.ParamByName('FromDate').Value := Trunc(Fromdate.DateTime);
Parameters.ParamByName('ToDate').Value := Trunc(ToDate.DateTime)+1;
Parameters.ParamByName('Value').Size := 100;
Parameters.ParamByName('Value').Value := Trim(Storagevalue.Text);
Open;
end;
if t_data.Query2.RecordCount>0 then //如果有数据返回,进一步统计物资报废的数量和费用
begin
With t_data.Query3 do
begin
Close;
SQL.Clear;
SQL.Add('Select sum(num) as storesum , sum(managemoney)as totalmoney, storename from v_scrapstorequery where ');
case Storagefield.ItemIndex of
0: SQL.Add('storename = :Value');
1: SQL.Add('principal = :Value');
2: SQL.Add('operator = :Value');
3: SQL.Add('scrapid = :Value');
end;
SQL.Add(' and TimeDate >= :FromDate and Timedate < :ToDate ');
SQL.Add(' Group by storename');
Parameters.ParamByName('Value').Size := 100;
Parameters.ParamByName('Value').Value := Trim(Storagevalue.Text);
Parameters.ParamByName('FromDate').Value := Trunc(FromDate.DateTime);
Parameters.ParamByName('ToDate').Value := Trunc(ToDate.DateTime)+1;
Open;
end;
Source1.DataSet := t_data.Query2;
Source2.DataSet := t_data.Query3;
end
else
begin
Application.MessageBox('没有找到符合条件的记录.','提示',64);
Source1.DataSet := Nil;
Source2.DataSet := Nil;
end;
end;
end;
end
else
Application.MessageBox('请设置查询条件.','提示',64);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -