📄 unitprodquery.pas
字号:
unit UnitProdQuery;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, Grids, DBGrids, ExtCtrls, Db, DBTables;
type
TfrmProdQuery = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel2: TPanel;
DBGrid1: TDBGrid;
TabSheet2: TTabSheet;
Panel1: TPanel;
DBGrid2: TDBGrid;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
dtpFrom: TDateTimePicker;
dtpTo: TDateTimePicker;
eProdID: TEdit;
BitBtn1: TBitBtn;
cbAllProd: TCheckBox;
BitBtn2: TBitBtn;
Panel4: TPanel;
eProdName: TEdit;
cbWeek: TCheckBox;
cbMonth: TCheckBox;
DataSource1: TDataSource;
DataSource2: TDataSource;
Query1: TQuery;
Query2: TQuery;
Query1CardID: TStringField;
Query1InDate: TDateField;
Query1ProdID: TStringField;
Query1ProcBatID: TStringField;
Query1Number: TIntegerField;
Query1CheckerID: TStringField;
Query1Note: TStringField;
Query1prodname: TStringField;
Query1Figid: TStringField;
Query1checker: TStringField;
Query2CardID: TStringField;
Query2OutDate: TDateField;
Query2ProdID: TStringField;
Query2ProcBatID: TStringField;
Query2Number: TIntegerField;
Query2Box: TFloatField;
Query2OuterID: TStringField;
Query2ManufacturerID: TStringField;
Query2Note: TStringField;
Query2prodname: TStringField;
Query2figid: TStringField;
Query2manufacturer: TStringField;
Query2outer: TStringField;
procedure BitBtn1Click(Sender: TObject);
procedure cbAllProdClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure cbWeekClick(Sender: TObject);
procedure cbMonthClick(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure eProdNameEnter(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmProdQuery: TfrmProdQuery;
implementation
uses UnitDM, UnitQueryID, UnitProdInCard, UnitProdViewInCard,
UnitProdViewOutCard;
{$R *.DFM}
procedure TfrmProdQuery.BitBtn1Click(Sender: TObject);
var
sProdID,sFilter,sStartID,sEndID:string;
begin
if cbAllProd.Checked then
begin
// sFilter := sFilter + format(' and ProdID = ''%S''',[sProdID]);
if PageControl1.ActivePage.TabIndex=0 then
begin
with query1 do
begin
// filter:=sFilter;
//filtered:=true;
//open;
close;
sql.clear;
sql.add('select * from ProdinCard ');
//sql.add('where CardID between :StartID and :EndID ');
sql.add('where inDate>=:qs and inDate <= :tID ');
// sql.add('and ProdID = :PrD ');
parambyname('tID').asdate:=dtpTo.date;
parambyname('qs').asdate:=dtpFrom.Date;
open;
if recordcount=0 then
begin
showmessage('无记录。');
exit;
end;
end; //with
end;
if PageControl1.ActivePage.TabIndex=1 then
begin
with query2 do
begin
close;
sql.clear;
sql.add('select * from ProdOutCard ');
sql.add('where OutDate>=:qs and OutDate <= :tID ');
parambyname('tID').asdate:=dtpTo.date;
parambyname('qs').asdate:=dtpFrom.Date;
open;
if recordcount=0 then
begin
showmessage('无记录。');
exit;
end;
end; //with
end;
end
else
begin
if PageControl1.ActivePage.TabIndex=0 then
begin
with query1 do
begin
// filter:=sFilter;
//filtered:=true;
//open;
close;
sql.clear;
sql.add('select * from ProdinCard ');
//sql.add('where CardID between :StartID and :EndID ');
sql.add('where inDate>=:qs and inDate <= :tID ');
sql.add('and ProdID = :rp ');
parambyname('tID').asdate:=dtpTo.date;
parambyname('qs').asdate:=dtpFrom.Date;
parambyname('rp').asstring:=eProdID.text;
open;
if recordcount=0 then
begin
showmessage('无记录。');
exit;
end;
end; //with
end;
if PageControl1.ActivePage.TabIndex=1 then
begin
with query2 do
begin
close;
sql.clear;
sql.add('select * from ProdOutCard ');
sql.add('where OutDate>=:qs and OutDate <= :tID ');
sql.add('and ProdID = :rp ');
parambyname('tID').asdate:=dtpTo.date;
parambyname('qs').asdate:=dtpFrom.Date;
parambyname('rp').asstring:=eProdID.text;
open;
if recordcount=0 then
begin
showmessage('无记录。');
exit;
end;
end; //with
end;
end;
end;
procedure TfrmProdQuery.cbAllProdClick(Sender: TObject);
begin
with eProdName do
begin
if cbAllProd.Checked then
begin
text:='';
enabled:=false;
color:=clbtnface;
end
else
begin
enabled:=true;
color:=clwindow;
end; //if
end; //with
end;
procedure TfrmProdQuery.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
query1.close;
query2.close;
end;
procedure TfrmProdQuery.FormCreate(Sender: TObject);
begin
dtpFrom.date:=date-30;
dtpTo.date:=date;
end;
procedure TfrmProdQuery.cbWeekClick(Sender: TObject);
begin
if cbWeek.Checked then
begin
cbMonth.checked := false;
dtpFrom.date:=date - 7;
dtpFrom.enabled:=false;
dtpTo.date:=date;
dtpTo.enabled:=false;
end
else
begin
dtpFrom.enabled:=true;
dtpTo.enabled:=true;
end; //if
end;
procedure TfrmProdQuery.cbMonthClick(Sender: TObject);
begin
if cbMonth.Checked then
begin
cbWeek.checked := false;
dtpFrom.date:=date - 31;
dtpFrom.enabled:=false;
dtpTo.date:=date;
dtpTo.enabled:=false;
end
else
begin
dtpFrom.enabled:=true;
dtpTo.enabled:=true;
end; //if
end;
procedure TfrmProdQuery.DBGrid1DblClick(Sender: TObject);
begin
if dm.tabProdInCard.RecordCount = 0 then
begin
showmessage('没有记录!');
exit;
end; //if
frmProdViewInCard.show;
end;
procedure TfrmProdQuery.DBGrid2DblClick(Sender: TObject);
begin
if dm.tabProdOutCard.RecordCount = 0 then
begin
showmessage('没有记录!');
exit;
end; //if
frmProdViewOutCard.show;
end;
procedure TfrmProdQuery.eProdNameEnter(Sender: TObject);
begin
eProdName.text:='';
eProdID.text:='';
query1.Close;
query2.Close;
frmCommQueryID.top:=200;//Form_dinginput.Height+Form_dinginput.top;
frmCommQueryID.left:=200;//Form_dinginput.left;
frmCommQueryID.PageControl1.ActivePageIndex:=1;
frmCommQueryID.query1.open;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgProdDictionary;
// showmessage('通过');
if frmCommQueryID.showmodal = mrok then
begin
// Edit3.SetFocus;
eProdID.text:=frmCommQueryID.query1.fieldbyname('ProdID').asstring;
eProdName.text:=frmCommQueryID.query1.fieldbyname('prodname').asstring;
end; //if
end;
procedure TfrmProdQuery.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TfrmProdQuery.TabSheet1Show(Sender: TObject);
begin
query1.close;
query2.close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -