📄 unit20.pas
字号:
unit Unit20;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DBCtrls, Mask, ComCtrls, Grids, DBGrids,
Buttons;
type
TF_khkszy = class(TForm)
Panel2: TPanel;
Panel3: TPanel;
Panel6: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Panel1: TPanel;
PageControl2: TPageControl;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
Panel4: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
EditDBEdit: TDBEdit;
EditDBEdit3: TDBEdit;
EditDBEdit4: TDBEdit;
EditDBEdit5: TDBEdit;
EditDBEdit6: TDBEdit;
EditDBEdit7: TDBEdit;
EditDBEdit8: TDBEdit;
EditDBEdit9: TDBEdit;
EditDBEdit10: TDBEdit;
MemoDBMemo: TDBMemo;
DBComboBox1: TDBComboBox;
Panel7: TPanel;
ComboBox1: TComboBox;
DBGrid1: TDBGrid;
Label12: TLabel;
DateTimePicker1: TDateTimePicker;
Label13: TLabel;
DateTimePicker2: TDateTimePicker;
BitBtn3: TBitBtn;
DBGrid6: TDBGrid;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
Panel5: TPanel;
DBGrid7: TDBGrid;
DBGrid8: TDBGrid;
DBGrid9: TDBGrid;
DBGrid10: TDBGrid;
DBEdit1: TDBEdit;
DBGrid3: TDBGrid;
DBGrid5: TDBGrid;
DBEdit2: TDBEdit;
DBGrid2: TDBGrid;
DBGrid4: TDBGrid;
ComboBox2: TComboBox;
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure EditDBEditChange(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure DBEdit2Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_khkszy: TF_khkszy;
implementation
uses unit1, Unit6, Unit5;
{$R *.dfm}
procedure TF_khkszy.FormShow(Sender: TObject);
begin
F_khkszy.DateTimePicker1.Date:=now;
F_khkszy.DateTimePicker2.Date:=now;
end;
procedure TF_khkszy.BitBtn3Click(Sender: TObject);
begin
with mainform.A_rkd do
begin
close;
sql.Clear;
sql.Add('SELECT d.ID, d.入库单号, d.入库类别, d.供应商, d.进货日期, d.操作员, d.备注,d.合计金额,SUM( 收付款库.金额 ) AS 已付金额,d.合计金额-SUM( 收付款库.金额 ) as 未付金额 FROM (SELECT 入库单.ID,');
sql.Add('入库单.入库单号, 入库单.入库类别, 入库单.供应商, 入库单.进货日期, 入库单.操作员, 入库单.备注, SUM( 入库明细.合计金额 ) AS 合计金额');
sql.Add(' FROM 入库单 Left Outer Join 入库明细 on 入库单.入库单号=入库明细.入库单号 group by 入库单.ID, 入库单.入库单号, 入库单.入库类别, 入库单.供应商, 入库单.进货日期, 入库单.操作员,入库单.备注) d');
sql.Add(' Left Outer Join 收付款库 on d.入库单号=收付款库.单号 ');
sql.Add('where 供应商='+''''+F_khkszy.EditDBEdit.Text+''''+' and 进货日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 进货日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
sql.Add(' GROUP BY d.ID, d.入库单号, d.入库类别, d.供应商, d.进货日期, d.操作员, d.备注,d.合计金额');
open;
end;
with mainform.A_ckd do
begin
close;
sql.Clear;
sql.Add('SELECT d.ID, d.出库单号, d.出库类别, d.客户名称,d.出库日期, d.操作员, d.备注,d.合计金额,SUM( 收付款库.金额 ) AS 已收金额,d.合计金额-SUM( 收付款库.金额 ) AS 未收金额 FROM ');
sql.add('(SELECT 出库单.ID, 出库单.出库单号, 出库单.出库类别, 出库单.客户名称, 出库单.出库日期, 出库单.操作员, 出库单.备注, SUM( 出库明细.合计 ) AS 合计金额 ');
sql.add('FROM 出库单 Left Outer Join 出库明细 on 出库单.出库单号=出库明细.出库单号 group by 出库单.ID, 出库单.出库单号, 出库单.出库类别, 出库单.客户名称, 出库单.出库日期, 出库单.操作员,出库单.备注) d ');
sql.add('Left Outer Join 收付款库 on d.出库单号=收付款库.单号 ');
sql.Add('where 客户名称='+''''+F_khkszy.EditDBEdit.Text+''''+' and 出库日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 出库日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
sql.add('GROUP BY d.ID, d.出库单号, d.出库类别, d.客户名称, d.出库日期, d.操作员, d.备注,d.合计金额 ');
open;
end;
with mainform.Q_allrk do
begin
close;
sql.Clear;
sql.Add('SELECT 入库单.入库单号,入库单.供应商,入库单.进货日期,入库明细.* from 入库单 left join 入库明细 on 入库单.入库单号=入库明细.入库单号');
sql.Add('where 入库单.供应商='+''''+F_khkszy.EditDBEdit.Text+''''+' and 入库单.进货日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 入库单.进货日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
with mainform.Q_allck do
begin
close;
sql.Clear;
sql.Add('SELECT 出库单.出库单号,出库单.客户名称,出库单.出库日期,出库明细.* from 出库单 left join 出库明细 on 出库单.出库单号=出库明细.出库单号');
sql.Add('where 出库单.客户名称='+''''+F_khkszy.EditDBEdit.Text+''''+' and 出库单.出库日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 出库单.出库日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
with mainform.Q_allsfk do
begin
close;
sql.Clear;
sql.Add('SELECT * from 收付款库');
sql.Add('where 单位='+''''+F_khkszy.EditDBEdit.Text+''''+' and 日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('select SUM(IIF(ISNULL(金额),0,金额)) as 总收取金额 from 收付款库 where 性质='+''''+'收款'+'''');
sql.Add(' and 单位='+''''+F_khkszy.EditDBEdit.Text+''''+' and 日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
F_khkszy.label17.Caption:='总收取金额:'+mainform.Q_temp.fieldbyname('总收取金额').asstring;
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('select SUM(IIF(ISNULL(金额),0,金额)) as 总收取金额 from 收付款库 where 性质='+''''+'付款'+'''');
sql.Add(' and 单位='+''''+F_khkszy.EditDBEdit.Text+''''+' and 日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
F_khkszy.label15.Caption:='总支付金额:'+mainform.Q_temp.fieldbyname('总收取金额').asstring;
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('SELECT SUM(IIF(ISNULL(入库明细.合计金额),0,入库明细.合计金额)) as 总进货金额 from 入库单 left join 入库明细 on 入库单.入库单号=入库明细.入库单号');
sql.Add('where 入库单.供应商='+''''+F_khkszy.EditDBEdit.Text+''''+' and 入库单.进货日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 入库单.进货日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
F_khkszy.label14.Caption:='总进货金额:'+mainform.Q_temp.fieldbyname('总进货金额').asstring;
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('SELECT SUM(IIF(ISNULL(出库明细.合计),0,出库明细.合计)) as 总售货金额 from 出库单 left join 出库明细 on 出库单.出库单号=出库明细.出库单号');
sql.Add('where 出库单.客户名称='+''''+F_khkszy.EditDBEdit.Text+''''+' and 出库单.出库日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 出库单.出库日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#');
open;
end;
F_khkszy.label16.Caption:='总售货金额:'+mainform.Q_temp.fieldbyname('总售货金额').asstring;
end;
procedure TF_khkszy.ComboBox1Change(Sender: TObject);
var
Q_chr:string;
begin
Q_chr:='select * from 客户客商库';
if F_khkszy.ComboBox1.text<>'全部' then Q_chr:=Q_chr+' where 客户性质='+''''+F_khkszy.ComboBox1.text+'''';
with mainform.Q_khkszy do
begin
close;
sql.Clear;
sql.Add(Q_chr);
open;
end;
end;
procedure TF_khkszy.EditDBEditChange(Sender: TObject);
begin
mainform.A_rkd.close;
mainform.A_ckd.close;
mainform.Q_allrk.close;
mainform.Q_allck.close;
mainform.Q_allsfk.close;
F_khkszy.ComboBox2.Text:='全部';
end;
procedure TF_khkszy.DBEdit1Change(Sender: TObject);
begin
with mainform.Q_rkmx do
begin
close;
sql.Clear;
sql.Add('select 入库明细.*,库存.* from 入库明细 left join 库存 on 入库明细.商品编号=库存.商品编号');
sql.Add('where 入库单号='+''''+F_khkszy.DBEdit1.text+'''');
open;
end;
with mainform.A_sfk do
begin
close;
sql.Clear;
sql.Add('select * from 收付款库');
sql.Add('where 单号='+''''+F_khkszy.DBEdit1.text+'''');
open;
end;
end;
procedure TF_khkszy.DBEdit2Change(Sender: TObject);
begin
with mainform.A_ckmx do
begin
close;
sql.Clear;
sql.Add('select 出库明细.*,库存.* from 出库明细 left join 库存 on 出库明细.商品编号=库存.商品编号');
sql.Add('where 出库单号='+''''+F_khkszy.DBEdit2.text+'''');
open;
end;
with mainform.A_sfk do
begin
close;
sql.Clear;
sql.Add('select * from 收付款库');
sql.Add('where 单号='+''''+F_khkszy.DBEdit2.text+'''');
open;
end;
end;
procedure TF_khkszy.ComboBox2Change(Sender: TObject);
var
Q_chr:string;
begin
Q_chr:='SELECT * from 收付款库 where 单位='+''''+F_khkszy.EditDBEdit.Text+''''+' and 日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#';;
if F_khkszy.ComboBox2.text<>'全部' then Q_chr:=Q_chr+' and 性质='+''''+F_khkszy.ComboBox2.text+''''+' and 单位='+''''+F_khkszy.EditDBEdit.Text+''''+' and 日期>=#'+datetostr(F_khkszy.DateTimePicker1.date)+'#'+' and 日期<=#'+datetostr(F_khkszy.DateTimePicker2.date)+'#';
with mainform.Q_allsfk do
begin
close;
sql.Clear;
sql.Add(Q_chr);
open;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -