⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spck.~pas

📁 汽车配件管理系统 采用ACCESS数据库 配件销售类公司适用 。 主要是目录树的学习
💻 ~PAS
字号:
unit spck;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, DB, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBTL, ComCtrls,
  dxtree, dxdbtree, dxdbtrel, cxLookAndFeelPainters, dxfColorButton,
  StdCtrls, cxButtons, cxMaskEdit, cxSpinEdit, cxDBEdit, cxCurrencyEdit,
  Grids, DBGridEh, cxLabel, cxControls, cxContainer, cxEdit, cxTextEdit,
  bsSkinCtrls, HzSpell, cxGraphics, cxCustomData, cxStyles, cxTL,
  cxInplaceContainer, cxDBTL, cxTLData, Mask, DBCtrlsEh, DBLookupEh, Menus,
  cxDBExtLookupComboBox, cxFilterControl, cxDBFilterControl,
  cxDBLookupComboBox, AAFont, AACtrls, cxCheckBox, cxDropDownEdit,
  cxCalendar, DBSumLst, PrnDbgeh, RM_Common, RM_Class, RM_GridReport,
  RM_Dataset, dxfCheckBox;

type
  Tspckck = class(TForm)
    Table2: TADOTable;
    Table3: TADOTable;
    DataSource0: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    py: THzSpell;
    spzl: TADOQuery;
    ADOQy1: TADOQuery;
    dxDBTreeList1: TdxDBTreeList;
    dxDBTreeList1Column1: TdxDBTreeListColumn;
    DBGridEh1: TDBGridEh;
    cxLabel1: TcxLabel;
    DataSource1: TDataSource;
    dblp1: TDBLookupComboboxEh;
    sprk: TADOQuery;
    Table8: TADOTable;
    DataSource8: TDataSource;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    ePanel1: TbsSkinExPanel;
    DBFc1: TcxDBFilterControl;
    cxButton1: TcxButton;
    Table5: TADOTable;
    DataSource5: TDataSource;
    DBGridEh2: TDBGridEh;
    AALabel1: TAALabel;
    ePanel2: TbsSkinExPanel;
    cxLabel2: TcxLabel;
    rBox1: TcxCheckBox;
    Edit1: TcxTextEdit;
    DBGridEh3: TDBGridEh;
    khzl: TADOQuery;
    rkzk: TADOQuery;
    DataSource4: TDataSource;
    DataSource6: TDataSource;
    DataSource7: TDataSource;
    ePanel3: TbsSkinExPanel;
    cxLabel3: TcxLabel;
    DBEdit1: TcxDBTextEdit;
    cxLabel4: TcxLabel;
    DateEdit1: TcxDBDateEdit;
    cxLabel5: TcxLabel;
    cEdit1: TcxDBCurrencyEdit;
    cxLabel8: TcxLabel;
    cEdit4: TcxDBCurrencyEdit;
    cxLabel9: TcxLabel;
    cxLabel10: TcxLabel;
    cBox1: TcxDBComboBox;
    sEdit1: TcxDBSpinEdit;
    ePanel4: TbsSkinExPanel;
    cxLabel13: TcxLabel;
    cxLabel14: TcxLabel;
    cxLabel15: TcxLabel;
    cEdit5: TcxDBCurrencyEdit;
    cEdit8: TcxDBCurrencyEdit;
    DBSEdit1: TcxDBSpinEdit;
    cxButton2: TcxButton;
    cxButton3: TcxButton;
    PopupMenu2: TPopupMenu;
    MenuItem1: TMenuItem;
    cxLabel6: TcxLabel;
    cEdit2: TcxDBCurrencyEdit;
    cxLabel7: TcxLabel;
    cEdit3: TcxDBCurrencyEdit;
    ePanel5: TbsSkinExPanel;
    sBox1: TcxCheckBox;
    sBox2: TcxCheckBox;
    sBox3: TcxCheckBox;
    sBox4: TcxCheckBox;
    sBox5: TcxCheckBox;
    sBox6: TcxCheckBox;
    cxButton4: TcxButton;
    PEh1: TPrintDBGridEh;
    cxButton5: TcxButton;
    sfpf: TcxCheckBox;
    DBSum1: TDBSumList;
    dy: TcxCheckBox;
    cxCheckBox1: TcxCheckBox;
    cxDBTextEdit1: TcxDBTextEdit;
    cxLabel11: TcxLabel;
    Atable1: TADOTable;
    RMDBDataSet1: TRMDBDataSet;
    RMDBDataSet2: TRMDBDataSet;
    RMGp1: TRMGridReport;
    cpEdit1: TcxTextEdit;
    cxLabel12: TcxLabel;
    cpBox1: TdxfCheckBox;
    cxButton6: TcxButton;
    procedure FormCreate(Sender: TObject);
    procedure dblp1Change(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure cxButton1Click(Sender: TObject);
    procedure Edit1PropertiesChange(Sender: TObject);
    procedure DBGridEh3DblClick(Sender: TObject);
    procedure cxDBSpinEdit1PropertiesChange(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure cEdit3PropertiesChange(Sender: TObject);
    procedure cEdit2PropertiesChange(Sender: TObject);
    procedure MenuItem1Click(Sender: TObject);
    procedure cxButton2Click(Sender: TObject);
    procedure cxButton3Click(Sender: TObject);
    procedure cEdit5Exit(Sender: TObject);
    procedure DBSEdit1Exit(Sender: TObject);
    procedure rBox1Click(Sender: TObject);
    procedure sBox1PropertiesChange(Sender: TObject);
    procedure sBox2PropertiesChange(Sender: TObject);
    procedure sBox3PropertiesChange(Sender: TObject);
    procedure sBox4PropertiesChange(Sender: TObject);
    procedure sBox5PropertiesChange(Sender: TObject);
    procedure sBox6PropertiesChange(Sender: TObject);
    procedure cxButton4Click(Sender: TObject);
    procedure cxButton5Click(Sender: TObject);
    procedure cxCheckBox1Click(Sender: TObject);
    procedure cxButton6Click(Sender: TObject);
    procedure cpBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  spckck: Tspckck;

implementation

{$R *.dfm}

uses main,khzl;

procedure Tspckck.FormCreate(Sender: TObject);
begin
table2.Open;
table5.Open;
table8.Open;
rkzk.Open;
rkzk.Append;
rkzk['jhbh']:=formatdatetime('yyyymmddhhmmss',now);
rkzk['jhrq']:=date;
rkzk['fkrq']:=date;
rkzk['fkqx']:=0;
rkzk['jzfs']:='现金';
rkzk['ck']:=false;
//dbgrideh2.Columns[7].Visible:=false;
spzl.Open;
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where ckh=:bh');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Open;
table8.Edit;
table8['mc']:=table2['mc'];
epanel1.RollState:=true;
epanel5.RollState:=true;
end;

procedure Tspckck.dblp1Change(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where ckh=:bh');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Open;

end;

procedure Tspckck.N1Click(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (spbh like :bh)');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Parameters[1].Value:=spzl['spbh']+'%';
adoqy1.Open;
end;

procedure Tspckck.cxButton1Click(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (spbh like :bh) and ');
adoqy1.SQL.Add(dbfc1.FilterText);
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Parameters[1].Value:=spzl['spbh']+'%';
adoqy1.Open;
epanel1.RollState:=true;
end;

procedure Tspckck.Edit1PropertiesChange(Sender: TObject);
begin
khzl.Close;
khzl.SQL.Clear;
if rbox1.Checked then
begin
khzl.SQL.Add('select * from khzl where zjm like :mc');
khzl.Parameters[0].Value:='%'+edit1.Text+'%';
end else
begin
khzl.SQL.Add('select * from khzl where khmc like :mc');
khzl.Parameters[0].Value:='%'+edit1.Text+'%';
end;
khzl.Open;
end;

procedure Tspckck.DBGridEh3DblClick(Sender: TObject);
begin
if khzl.RecordCount>0 then
begin
epanel2.RollState:=true;
rkzk.Edit;
rkzk['khbh']:=khzl['khbh'];
rkzk['khmc']:=khzl['khmc'];
rkzk['pfj']:=sfpf.Checked;
dbgrideh1.Enabled:=true;
dbgrideh2.Enabled:=true;
dbgrideh3.Enabled:=false;
sprk.Close;
sprk.SQL.Clear;
sprk.SQL.Add('select * from spckd where jhbh=:bh');
sprk.Parameters[0].Value:=rkzk['jhbh'];
sprk.Open;
end;
end;

procedure Tspckck.cxDBSpinEdit1PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['fkrq']:=rkzk['jhrq']+sedit1.Value;
end;

procedure Tspckck.DBGridEh1DblClick(Sender: TObject);
begin
epanel4.Enabled:=true;
sprk.Append;
sprk['spmc']:=adoqy1['spmc'];
sprk['spbh']:=adoqy1['spbh'];
sprk['sjmc']:=adoqy1['sjmc'];
sprk['sjbh']:=adoqy1['sjbh'];
sprk['dw']:=adoqy1['dw'];
sprk['jj']:=adoqy1['jj'];
sprk['pfj']:=adoqy1['pfj'];
if sfpf.Checked then
sprk['sj']:=adoqy1['pfj']
else
sprk['sj']:=adoqy1['sj'];
sprk['sl']:=1;
sprk['je']:=sprk['sj'];
sprk['lr']:=sprk['sj']-sprk['jj'];
//sprk.edit;
sprk['ckh']:=adoqy1['ckh'];
sprk['zjm']:=adoqy1['zjm'];
sprk['jhbh']:=rkzk['jhbh'];
sprk.Prior;
sprk.Next;
rkzk.Edit;
rkzk['je']:=dbgrideh2.Columns[5].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
dbsedit1.SetFocus;
end;

procedure Tspckck.cEdit3PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['qkje']:=rkzk['ssje']-cedit3.Value;
if cedit3.Value<rkzk['ssje'] then
begin
rkzk['jzfs']:='欠帐';

end;
end;

procedure Tspckck.cEdit2PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['yfje']:=cedit2.Value;
rkzk['qkje']:=cedit2.Value-rkzk['yfje'];
rkzk['lr']:=rkzk['lr']-(rkzk['je']-cedit2.Value);
end;

procedure Tspckck.MenuItem1Click(Sender: TObject);
begin
sprk.Delete;
rkzk.Edit;
rkzk['je']:=dbgrideh2.Columns[5].Footers[0].SumValue;
rkzk['lr']:=dbsum1.SumCollection[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;

procedure Tspckck.cxButton2Click(Sender: TObject);
begin
if sprk.RecordCount>0 then
begin
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[5].Footers[0].SumValue;
rkzk['lr']:=dbsum1.SumCollection[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
cxbutton3.Enabled:=true;
dbgrideh1.Enabled:=false;
dbgrideh2.Enabled:=false;
epanel3.Enabled:=true;
cedit2.SetFocus;
end;
end;

procedure Tspckck.cxButton3Click(Sender: TObject);
var i:integer;
begin
rkzk.UpdateBatch();
sprk.UpdateBatch();
if not rkzk['ck'] then
begin
//记入客户资料
if khzl.Locate('khmc',rkzk['khmc'],[]) then
begin
khzl.Edit;
khzl['ljxf']:=khzl['ljxf']+rkzk['je'];
khzl['ljqk']:=khzl['ljqk']+rkzk['qkje'];
khzl['ljyh']:=khzl['ljyh']+rkzk['je']-rkzk['ssje'];

end;
khzl.UpdateBatch();
adoqy1.DisableControls;
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc');
adoqy1.Open;
i:=1;
sprk.DisableControls;
//加入商品总库
sprk.First;
while i<=sprk.RecordCount do
begin
if adoqy1.Locate('spbh;ckh',vararrayof([sprk['spbh'],sprk['ckh']]),[]) then
begin
adoqy1.Edit;
//adoqy1['jj']:=(adoqy1['jj']+sprk['jj'])/2;
adoqy1['sl']:=adoqy1['sl']-sprk['sl'];
adoqy1['je']:=adoqy1['je']-sprk['je'];

end;
i:=i+1;
sprk.Next;
end;
adoqy1.UpdateBatch();
//记入帐目总库
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from zmzk');
adoqy1.Open;
adoqy1.Append;
adoqy1['jhbh']:=rkzk['jhbh'];
adoqy1['jzbh']:=rkzk['jhbh'];
adoqy1['jzrq']:=date;
adoqy1['jzkm']:='销售收入';
adoqy1['jzlx']:='收入';
adoqy1['je']:=rkzk['ssje'];
adoqy1['qkje']:=rkzk['qkje'];
adoqy1['jzfs']:=rkzk['jzfs'];
adoqy1['nh']:=formatdatetime('YYYY',date);
adoqy1['YF']:=formatdatetime('MM',date);
adoqy1.UpdateBatch();
adoqy1.Close;
//打印
if dy.Checked then
begin
atable1.Open;
atable1.Append;
atable1['bt1']:=main.sydwqc+'出库单';
atable1['bt2']:=rkzk['jhbh'];
atable1['bt3']:=datetimetostr(date);
atable1['bt4']:=inttostr(sprk.RecordCount);
atable1['bw1']:=main.czy;
atable1['bw2']:=rkzk['khmc'];
atable1['bw3']:=main.sydw;
atable1['bw4']:=main.sydwdz;
atable1['bw5']:=main.sydwdh;
atable1['bw6']:=floattostr(rkzk['ssje']);
rmgp1.LoadFromFile('.\bb\xsb.rls');
rmgp1.PrepareReport;
rmgp1.ShowReport;

end;
khzl.Close;
sprk.Close;
atable1.Close;
//rkzk.Close;
adoqy1.Close;
end;
close;
end;

procedure Tspckck.cEdit5Exit(Sender: TObject);
begin
sprk.Edit;
sprk['je']:=cedit5.Value*sprk['sl'];
sprk['lr']:=sprk['je']-(sprk['jj']*sprk['sl']);
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[5].Footers[0].SumValue;
rkzk['lr']:=dbsum1.SumCollection[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;

procedure Tspckck.DBSEdit1Exit(Sender: TObject);
begin
sprk.Edit;
sprk['je']:=dbsedit1.Value*sprk['sj'];
sprk['lr']:=sprk['je']-(sprk['jj']*dbsedit1.Value);
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[5].Footers[0].SumValue;
rkzk['lr']:=dbsum1.SumCollection[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;

procedure Tspckck.rBox1Click(Sender: TObject);
begin
edit1.SetFocus;
end;

procedure Tspckck.sBox1PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[0].Visible:=sbox1.Checked;
end;

procedure Tspckck.sBox2PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[1].Visible:=sbox2.Checked;
end;

procedure Tspckck.sBox3PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[2].Visible:=sbox3.Checked;
end;

procedure Tspckck.sBox4PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[3].Visible:=sbox4.Checked;
end;

procedure Tspckck.sBox5PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[4].Visible:=sbox5.Checked;
end;

procedure Tspckck.sBox6PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[5].Visible:=sbox6.Checked;
end;

procedure Tspckck.cxButton4Click(Sender: TObject);
begin
epanel5.RollState:=true;
end;

procedure Tspckck.cxButton5Click(Sender: TObject);
begin
khzlck:=tkhzlck.Create(self);
khzlck.table1.Append;
khzlck.DBGridEh1.Columns[5].Visible:=false;
khzlck.DBGridEh1.Columns[6].Visible:=false;
khzlck.ShowModal;
khzlck.Free;
end;

procedure Tspckck.cxCheckBox1Click(Sender: TObject);
begin
rkzk.Edit;
rkzk['ck']:=cxcheckbox1.Checked;
if not rkzk['ck'] then
cxbutton3.Caption:='入库退出' else
cxbutton3.Caption:='暂存退出';
end;

procedure Tspckck.cxButton6Click(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
if cpbox1.Checked then
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (zjm1 like :bh)')
else
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (sjmc like :bh)');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Parameters[1].Value:=cpedit1.Text+'%';
adoqy1.Open;
end;

procedure Tspckck.cpBox1Click(Sender: TObject);
begin
cpedit1.SetFocus;
end;

end.

⌨️ 快捷键说明

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