?? 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)+'#');
sql.Add('group by 入庫單.入庫單號,入庫單.供應商,入庫單.進貨日期');
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)+'#');
sql.Add('group by 出庫單.出庫單號,出庫單.客戶名稱,出庫單.出庫日期');
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 + -