📄 sal_qry_analyzesaleorder5.pas
字号:
unit Sal_Qry_AnalyzeSaleOrder5;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls, jpeg;
Type
TFrm_Sal_Qry_AnalyzeSaleOrder5 = Class(TFrm_Base_Qry)
Label1: TLabel;
AdoQry_MainSa_SaleOrderNumber: TIntegerField;
AdoQry_MainTotalTaxAmount: TFloatField;
AdoQry_MainCost: TFloatField;
AdoQry_MainGrossProfit: TFloatField;
AdoQry_MainAverageTaxAmount: TFloatField;
AdoQry_MainAverageCost: TFloatField;
AdoQry_MainAverageGrossProfit: TFloatField;
AdoQry_MainItemCode: TStringField;
AdoQry_MainItemName: TStringField;
AdoQry_MainItemFalg: TStringField;
DBText1: TDBText;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
CreateDateStArt,CreateDateend,CustomerCodeStArt,CustomerCodeend,SloNoStArt,SloNoend,
SaleTypeCodeStArt,SaleTypeCodeend,SaleDeptCodeStArt,SaleDeptCodeend,
SaleEmployeeCodeStArt,SaleEmployeeCodeend,PayTermCodeStArt,PayTermCodeend,
CurrencyCode,ItemCodeStArt,ItemCodeend:String;
procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
{ Public declarations }
end;
var
Frm_Sal_Qry_AnalyzeSaleOrder5: TFrm_Sal_Qry_AnalyzeSaleOrder5;
implementation
uses Sal_Qry_AnalyzeSaleOrder5_C, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Qry_AnalyzeSaleOrder5 }
procedure TFrm_Sal_Qry_AnalyzeSaleOrder5.InitForm(
AdOConnection: TAdOConnection; ShowExtendColumn: Boolean);
var
SqlText:String;
AdoQuery:TAdoQuery;
begin
inherited;
Frm_Sys_Condition:= TFrm_Sal_Qry_AnalyzeSaleOrder5_C.Create(self);
act_filter.Execute;
Frm_Sys_Condition.Release;
Frm_Sys_Condition:=nil;
CreatePanel(1,DBGridEh);
AdoQuery:=TAdoQuery.Create(Self);
AdoQuery.Connection :=DbConnect;
SqlText:=' Select Sa_SaleOrderLine.ItemCode,'
+' Count(Distinct Sa_SaleOrder.SloNo) As Sa_SaleOrderNumber, '
+' Sum(TaxAmount)AS TotalTaxAmount, Sum(Cost)As Cost, '
+' Sum(TaxAmount)-Sum(Cost) As GrossProfit, '
+' Sum(TaxAmount)/Count(Distinct Sa_SaleOrder.SloNo) As AverageTaxAmount , '
+' Sum(Cost)/Count(Distinct Sa_SaleOrder.SloNo) As AverageCost,'
+' (Sum(TaxAmount)-Sum(Cost))/Count(Distinct Sa_SaleOrder.SloNo) As AverageGrossProfit '
+' Into #AnalyzeSaleOrder5 '
+' From Sa_SaleOrder '
+' Join Sa_SaleOrderLine '
+' On Sa_SaleOrder.SloNo=Sa_SaleOrderLine.SloNo '
+' Where (Sa_SaleOrder.CreateDate Between '''+CreateDateStArt+''' And '''+CreateDateend+''') And '
+' (isnull(Sa_SaleOrder.CustomerCode,'''') Between '''+CustomerCodeStArt+''' And '''+CustomerCodeend+''') And '
+' (Sa_SaleOrder.SloNo Between '''+SloNoStArt+''' And '''+SloNoend+''') And '
+' (isnull(Sa_SaleOrder.SaleTypeCode,'''') Between '''+SaleTypeCodeStArt+''' And '''+SaleTypeCodeend+''') And '
+' (isnull(Sa_SaleOrder.SaleDeptCode,'''') Between '''+SaleDeptCodeStArt+''' And '''+SaleDeptCodeend+''') And '
+' (isnull(Sa_SaleOrder.SaleEmployeeCode,'''') Between '''+SaleEmployeeCodeStArt+''' And '''+SaleEmployeeCodeend+''') And '
+' (isnull(Sa_SaleOrder.PayTermCode,'''') Between '''+PayTermCodeStArt+''' And '''+PayTermCodeend+''') And '
+' (isnull(Sa_SaleOrderLine.ItemCode,'''') Between '''+ItemCodeStArt+''' And '''+ItemCodeend+''') And '
+' CurrencyCode='''+CurrencyCode+''' '
+' Group By Sa_SaleOrderLine.ItemCode ';
ExecuteSql(AdoQry_Tmp,SqlText,1);
SelectFromSQL:=' Select #AnalyzeSaleOrder5.*,Item.ItemName,'
+' #AnalyzeSaleOrder5.ItemCode+'' ''+Item.ItemName As ItemFalg '
+' From #AnalyzeSaleOrder5 '
+' left Join Item '
+' On #AnalyzeSaleOrder5.ItemCode=Item.ItemCode ';
SqlText:=' Select #AnalyzeSaleOrder5.*,Item.ItemName,'
+' #AnalyzeSaleOrder5.ItemCode+'' ''+Item.ItemName As ItemFalg '
+' From #AnalyzeSaleOrder5 '
+' left Join Item '
+' On #AnalyzeSaleOrder5.ItemCode=Item.ItemCode '
+' Order By TotalTaxAmount DESC';
ExecuteSql(AdoQry_Main,SqlText,0);
if ShowAnimate<>nil then ShowAnimate.Free;
if ShowPanel<>nil then ShowPanel.Free;
end;
procedure TFrm_Sal_Qry_AnalyzeSaleOrder5.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Try
ExecuteSql(AdoQry_tmp,'Drop Table #AnalyzeSaleOrder5 ',1);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -