📄 dailyproductfindfrm.~pas
字号:
unit DailyProductFindFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FindFrameFrm, Db, ADODB, ActnList, Grids, DBGridEh, StdCtrls, Buttons,
ComCtrls, jpeg, ExtCtrls, EHGrids;
type
TDailyProductFindForm = class(TFindFrameForm)
cbProductCode: TComboBox;
Label1: TLabel;
ADOQuery2: TADOQuery;
ADOQuery1DSDesigner: TWideStringField;
ADOQuery1DSDesigner2: TWideStringField;
ADOQuery1DSDesigner3: TDateTimeField;
ADOQuery1DSDesigner4: TWideStringField;
ADOQuery1DSDesigner5: TWideStringField;
ADOQuery1DSDesigner6: TWideStringField;
ADOQuery1DSDesigner7: TFloatField;
ADOQuery1DSDesigner8: TFloatField;
ADOQuery1DSDesigner9: TWideStringField;
procedure AExecExecute(Sender: TObject);
procedure cbProductCodeChange(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure AReviewExecute(Sender: TObject);
procedure APrintExecute(Sender: TObject);
private
FProductCode: string;
procedure SetProductCode(const Value: string);
{ Private declarations }
protected
procedure InitInterface; override;
procedure InitCondition; override;
procedure CreateConditionString; override;
public
{ Public declarations }
property ProductCode: string read FProductCode write SetProductCode;
end;
var
DailyProductFindForm: TDailyProductFindForm;
implementation
uses U_DM, import1;
{$R *.DFM}
const AllProductInfo = '<<全部>>';
procedure TDailyProductFindForm.InitInterface;
procedure SetProductCodeList(ProductCodeList: TStrings);
begin
ProductCodeList.Clear;
ProductCodeList.Add(AllProductInfo);
with ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add(' SELECT DISTINCT ProductCode ');
SQL.Add(' FROM xs_dailyDetail ');
SQL.Add(' ORDER BY productCode ');
Open;
end;
if ADOQuery2.RecordCount>0 then
begin
while not ADOQuery2.Eof do
begin
ProductCodeList.Add(ADOQuery2.FieldByName('ProductCode').asstring);
ADOQuery2.Next;
end;//while
end;//if
end;//function
begin
inherited;
SetProductCodeList(cbProductCode.Items);
// cbStoreName.ItemIndex := 0;
end;
procedure TDailyProductFindForm.InitCondition;
begin
inherited;
ProductCode := AllProductInfo;
ColumnIndex := 1;
IsASCOrder := false;//日期
end;
procedure TDailyProductFindForm.CreateConditionString;
var
sBeginDate,sEndDate,sProductCode: string;
begin
inherited;
sBeginDate := DateToStr(BeginDate);
sEndDate := DateToStr(EndDate);
if ProductCode=AllProductInfo then sProductCode := '%' else sProductCode := ProductCode;
if DTPEnd.Checked then
ConditionString := ' WHERE xs_DailyMaster.DateTime<= '''+sEndDate+''''+
' AND xs_dailyDetail.productCode LIKE '''+sProductCode+'''';
if DTPBegin.Checked then
ConditionString := ' WHERE xs_DailyMaster.DateTime>= '''+sBeginDate+''''+
' AND xs_dailyDetail.productCode LIKE '''+sProductCode+'''';
if DTPBegin.Checked and DTPEnd.Checked then
ConditionString := ' WHERE xs_DailyMaster.DateTime>= '''+sBeginDate+''''+
' AND xs_DailyMaster.DateTime<= '''+sEndDate+''''+
' AND xs_dailyDetail.productCode LIKE '''+sProductCode+'''';
if not DTPBegin.Checked and not DTPEnd.Checked then
ConditionString := ' WHERE xs_dailyDetail.productCode LIKE '''+sProductCode+'''';
// ShowMessage(ConditionString);
end;
procedure TDailyProductFindForm.AExecExecute(Sender: TObject);
begin
inherited;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' select xs_dailyMaster.dailyCode ''日报编码'', ');
SQL.Add(' xs_store.storeName ''分销店名称'', ');
SQL.Add(' xs_dailyMaster.DateTime ''上报时间'', ');
SQL.Add(' xs_dailyDetail.productCode ''产品编码'', ');
SQL.Add(' js_shoeskind1.s_name ''样式'', ');
SQL.Add(' js_shoeskind2.s_name ''鞋别'', ');
SQL.Add(' xs_dailyDetail.Total ''数量'', ');
SQL.Add(' xs_dailyDetail.Amount ''金额'', ');
SQL.Add(' xs_dailyMaster.memo ''备注'' ');
SQL.Add(' from xs_dailyMaster inner join xs_dailyDetail ');
SQL.Add(' on Xs_dailyMaster.DailyCode = Xs_dailyDetail.DailyCode ');
SQL.Add(' Left outer join xs_store on ');
SQL.Add(' xs_dailyMaster.StoreCode = xs_store.StoreCode ');
SQL.Add(' inner join js_product1 on ');
SQL.Add(' js_product1.shoes_num = xs_dailyDetail.productCode ');
SQL.Add(' inner join js_shoeskind1 on ');
SQL.Add(' js_product1.shoes1_num = js_shoeskind1.s_number ');
SQL.Add(' inner join js_shoeskind2 on ');
SQL.Add(' js_product1.shoes2_num = js_shoeskind2.s_number ');
// SQL.Add(' WHERE xs_dailyMaster.DateTime>=:a AND xs_dailyMaster.DateTime<=:b ');
// SQL.Add(' AND xs_dailyDetail.productCode LIKE '''+ComboBox1.Text+'''');
// Parameters[0].Value := DTPBegin.Date;
// Parameters[1].Value := DTPEnd.Date;
SQL.Add(ConditionString);
Open;
Sort := SortString;
end;//with
end;
////////////////////////////////////////////////////////////////////////////////
procedure TDailyProductFindForm.SetProductCode(const Value: string);
begin
FProductCode := Value;
if cbProductCode.Text<>Value then
cbProductCode.ItemIndex := cbProductCode.Items.IndexOf(Value);
end;
procedure TDailyProductFindForm.cbProductCodeChange(Sender: TObject);
begin
inherited;
ProductCode := cbProductCode.Text;
AExec.OnExecute(nil);
end;
procedure TDailyProductFindForm.FormDestroy(Sender: TObject);
begin
inherited;
DailyProductFindForm := nil;
end;
procedure TDailyProductFindForm.AReviewExecute(Sender: TObject);
begin
inherited;
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'302',
nil,TAdoQuery(DataSource1.DataSet),false) ;
end;
procedure TDailyProductFindForm.APrintExecute(Sender: TObject);
begin
inherited;
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'302',
nil,TAdoQuery(DataSource1.DataSet),TRUE) ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -