📄 umanufacturer.pas
字号:
unit UManufacturer;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Grids, DBGrids, Db, DBTables;
type
TManufacturer = class(TForm)
DataSource1: TDataSource;
MFQuery: TQuery;
PerennialQuery: TQuery;
TmpQuery: TQuery;
DBGrid1: TDBGrid;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
ocf:boolean;
public
{ Public declarations }
end;
var
Manufacturer: TManufacturer;
implementation
uses main, UParticular;
procedure AlignGrid(dbgrid:Tdbgrid);stdcall;external 'AlignGriddll.dll';
{$R *.DFM}
procedure TManufacturer.FormCreate(Sender: TObject);
var
tmpsql,tmpflag:string;
begin
ocf:=False;
PerennialQuery.Close;
PerennialQuery.SQL.Clear;
PerennialQuery.SQL.Add('create table #tmp (供货商 char(20),库存结算金额 money,进货结算金额 money,销售结算金额 money)');
PerennialQuery.ExecSQL;
PerennialQuery.Close;
PerennialQuery.SQL.Clear;
PerennialQuery.SQL.Add('select cname from supplierlistbase');
PerennialQuery.Open;
while not PerennialQuery.Eof do
begin
tmpflag:=PerennialQuery['cname'];
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('insert into #tmp(供货商) values('''+tmpflag+''')');
TmpQuery.ExecSQL;
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('select 供货商,(进价*进货数量)as total into #aa from goodsbase where 供货商='''+tmpflag+'''');
TmpQuery.ExecSQL;
tmpsql:='update #tmp set 库存结算金额=(select sum(库存结算金额) from goodsbase where ';
tmpsql:=tmpsql+'供货商='''+tmpflag+'''),进货结算金额=(select sum(total) from #aa where ';
tmpsql:=tmpsql+'供货商='''+tmpflag+'''),销售结算金额=(select sum(销售结算金额) from ';
tmpsql:=tmpsql+'goodsbase where 供货商='''+tmpflag+''') where 供货商='''+tmpflag+'''';
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add(tmpsql);
TmpQuery.ExecSQL;
MFQuery.Close;
MFQuery.SQL.Clear;
MFQuery.SQL.Add('select * from #tmp');
MFQuery.Open;
PerennialQuery.Next;
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('drop table #aa');
TmpQuery.ExecSQL;
end;
AlignGrid(dbgrid1);
Dbgrid1.Columns[0].Width:=159;
Dbgrid1.Columns[1].Width:=158;
Dbgrid1.Columns[2].Width:=158;
Dbgrid1.Columns[3].Width:=158;
end;
procedure TManufacturer.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if ocf=False then
begin
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('drop table #tmp');
TmpQuery.ExecSQL;
MFQuery.Close;
PerennialQuery.Close;
TmpQuery.Close;
Manufacturer.Release;
Manufacturer.Close;
end;
end;
procedure TManufacturer.SpeedButton3Click(Sender: TObject);
begin
ocf:=True;
sflag:=1;
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('drop table #tmp');
TmpQuery.ExecSQL;
MFQuery.Close;
PerennialQuery.Close;
TmpQuery.Close;
Manufacturer.Release;
Manufacturer.Close;
end;
procedure TManufacturer.SpeedButton1Click(Sender: TObject);
begin
Application.CreateForm(TParticular,Particular);
Particular.ShowModal;
end;
procedure TManufacturer.FormActivate(Sender: TObject);
begin
sflag:=3;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -