📄 yxstbfx.pas
字号:
unit yxstbfx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, StdCtrls, Buttons, TeeProcs, Chart, DbChart,
ExtCtrls, ComCtrls, DB, ADODB, DBTables;
type
Tf_yxstbfx = class(TForm)
Label1: TLabel;
Panel1: TPanel;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
sj: TDateTimePicker;
Label3: TLabel;
DBChart1: TDBChart;
Series1: TBarSeries;
Series2: TBarSeries;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Procedure selectyxstb;
{ Public declarations }
end;
var
f_yxstbfx: Tf_yxstbfx;
implementation
uses DataModal;
{$R *.dfm}
procedure Tf_yxstbfx.BitBtn1Click(Sender: TObject);
begin
selectyxstb;
if Data.Query1.Fields[0].Value <>Null then
begin
Series1.XValues.Name := 'X';
Series1.XLabelsSource := '商品名称';
Series1.XValues.ValueSource := '数量';
Series1.YValues.ValueSource := '数量';
Series1.DataSource := Data.Query1 ;
Series2.XValues.Name := 'X';
Series2.XLabelsSource := '商品代码';
Series2.XValues.ValueSource := '数量';
Series2.YValues.ValueSource := '数量';
Series2.DataSource := Data.Query1 ;
end
else
begin
Series1.DataSource := Nil;
Series2.DataSource := Nil;
end;
end;
procedure Tf_yxstbfx.selectyxstb;
var
year,month,Day: Word;
Days: Integer;//记录当前月的天数
begin
Days := 30;
DecodeDate(sj.DateTime,year,month,day);
with Data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select sum(a.Num)as 数量,a.spdm 商品代码 ,spmc 商品名称 from t_xsmx a inner join t_spjcxx b on');
SQL.Add('a.spdm = b.spdm inner join t_xsph c on a.xsph in( select c.xsph from t_xsph where sj>=:a and sj<=:b)group by a.spdm,b.spmc');
ParamByName('a').AsFloat := Trunc(sj.Date)-Day+1-2; //取当前月初的整数值,减2是为了与SQL Server中的数值对应
Case Month of
1,3,5,7,8,10,12: Days := 31;
2: begin
if isLeapYear(Year)=True then
Days :=29
else
Days := 28
end;
4,6,9: Days := 30;
end;
ParamByName('b').AsFloat :=Trunc(sj.Date)-Day+Days+0.998-2;//取当前月末的整数值,减2是为了与SQL Server中的数值对应
Open;
end;
end;
procedure Tf_yxstbfx.FormCreate(Sender: TObject);
begin
sj.DateTime := Now;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -