uqueryallchart.pas

来自「港口货物管理系统」· PAS 代码 · 共 160 行

PAS
160
字号
unit Uqueryallchart;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, ComCtrls, Grids, DBGrids, StdCtrls, ExtCtrls,
  Buttons, ImgList, TeeProcs, TeEngine, Chart, DbChart, Series;

type
  Tfmqueryallchart = class(TForm)
    Query1: TQuery;
    Label2: TLabel;
    DBChart1: TDBChart;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label3: TLabel;
    ComboBox2: TComboBox;
    RadioGroup1: TRadioGroup;
    BitBtn3: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BatchMove1: TBatchMove;
    Table1: TTable;
    Query2: TQuery;
    Query3: TQuery;
    GroupBox2: TGroupBox;
    Bevel1: TBevel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
    fstr:string;
  end;

var
  fmqueryallchart: Tfmqueryallchart;

implementation

uses ulogin;

{$R *.dfm}
procedure Tfmqueryallchart.BitBtn1Click(Sender: TObject);
var myseries:tchartseries;

begin
query2.Filter:='';
query2.Filtered:=false;

query1.Close;
query1.sql.clear;
query1.SQL.add('select ddate,agoodd,agname,sum(nton),sum(nplanton)  from sumimport group by ddate,agoodd,agname');
table1.EmptyTable;
batchmove1.Execute;

if (combobox1.ItemIndex<>12) and (combobox2.ItemIndex<>query3.RecordCount) then
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('select ddate,agoodd,agname,nton,nplanton from mplan1');
query2.SQL.add(' where (ddate='''+combobox1.Text+'''');
query2.SQL.add(')');
query2.SQL.add(' and (agoodd='''+combobox2.Text+'''');
query2.SQL.add(')');
query2.Open;
end;

if (combobox1.ItemIndex=12) and (combobox2.Itemindex=query3.RecordCount) then
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('select agname,sum(nton) as nton,sum(nplanton) as nplanton from mplan1 group by agname');
query2.Open;
end;

if (combobox1.ItemIndex=12) and (combobox2.Itemindex<>query3.RecordCount) then
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('select agoodd,agname,sum(nton) as nton,sum(nplanton) as nplanton from mplan1 group by agoodd,agname');
query2.Open;
query2.Filter:='agoodd='''+combobox2.Text+'''';
query2.Filtered:=true;
end;


if (combobox1.ItemIndex<>12) and (combobox2.Itemindex=query3.RecordCount) then
begin
query2.Close;
query2.SQL.clear;
query2.SQL.add('select ddate,agname,sum(nton) as nton,sum(nplanton) as nplanton from mplan1 group by ddate,agname');
query2.Open;
query2.Filter:='ddate='''+combobox1.Text+'''';
query2.Filtered:=true;
end;


if dbchart1.SeriesCount>0 then
dbchart1.Create(nil);
case radiogroup1.ItemIndex of
0:  myseries:=tlineseries.Create(self);
1:  myseries:=tbarseries.Create(self);
2:  myseries:=tpieseries.Create(self);
end;

dbchart1.AddSeries(myseries);
if query2.RecordCount>0 then
begin
while not query2.Eof do
begin
myseries.Add(query2.FieldValues['nplanton'],'计划:'+query2.FieldValues['agname'],clteecolor);
if  query2.FieldValues['nton']<>null then
myseries.Add(query2.FieldValues['nton'],'到港:'+query2.FieldValues['agname'],clgray);
query2.Next;
end;
dbchart1.Series[0].Title:=combobox2.Text+' '+combobox1.Text+' 图形显示';
end;
dbchart1.Width:=559;
dbchart1.Height:=330;
end;

procedure Tfmqueryallchart.BitBtn3Click(Sender: TObject);
begin
fmqueryallchart.close;
end;

procedure Tfmqueryallchart.FormCreate(Sender: TObject);
var i:integer;
begin
application.OnMessage:=fmlogin.doenterastab;
query3.First;
for i:=1 to query3.RecordCount do
begin
combobox2.Items.add(query3.FieldValues['agoodd']);
query3.Next;
end;
combobox2.Items.add('所有货代');
combobox2.ItemIndex:=0;
end;

procedure Tfmqueryallchart.FormActivate(Sender: TObject);
begin
bitbtn1.OnClick(sender);
end;

procedure Tfmqueryallchart.BitBtn2Click(Sender: TObject);
begin
dbchart1.Print;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?