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

📄 ps_db.pas

📁 DELPHI5加SQL SERVER2000完成的进销存系统,具体哪些内容记不清了,六七年前写的,希望还能有点贡献
💻 PAS
字号:
unit PS_db;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables;

type
  Tcomdatabase = class(TDataModule)
    comdepartment: TTable;
    comperson: TTable;
    comproduct: TTable;
    comwarehouse: TTable;
    comcustomer: TTable;
    ordbillmain: TTable;
    ordbillsub: TTable;
    stkbillmain: TTable;
    stkbillsub: TTable;
    company: TDatabase;
    comwareamount: TTable;
    DS_ordbillmain: TDataSource;
    DS_ordbillsub: TDataSource;
    DS_stkbillmain: TDataSource;
    DS_stkbillsub: TDataSource;
    DS_comdepartment: TDataSource;
    DS_comperson: TDataSource;
    DS_comproduct: TDataSource;
    DS_comwarehouse: TDataSource;
    DS_comwareamount: TDataSource;
    DS_comcustomer: TDataSource;
    Q_Public: TQuery;
    ordbillsubflag: TSmallintField;
    ordbillsubbillno: TStringField;
    ordbillsubserialno: TSmallintField;
    ordbillsubprice: TFloatField;
    ordbillsubmoney: TFloatField;
    ordbillsubtaxrate: TFloatField;
    ordbillsubtax: TFloatField;
    ordbillsubmemo: TMemoField;
    ordbillsubtranslated: TBooleanField;
    ordbillsubamount: TFloatField;
    ordbillsubproductid2: TStringField;
    ordbillsubproductid: TStringField;
    stkbillsubflag: TSmallintField;
    stkbillsubbillno: TStringField;
    stkbillsubserialno: TSmallintField;
    stkbillsubproductid: TStringField;
    stkbillsubamount: TFloatField;
    stkbillsubprice: TFloatField;
    stkbillsubmoney: TFloatField;
    stkbillsubtaxrate: TFloatField;
    stkbillsubtax: TFloatField;
    stkbillsubcosts: TFloatField;
    stkbillsubmemo: TMemoField;
    stkbillsubproductid2: TStringField;
    procedure ordbillsubCalcFields(DataSet: TDataSet);
    procedure ordbillsubproductidChange(Sender: TField);
    procedure ordbillsubAfterPost(DataSet: TDataSet);
    procedure stkbillsubAfterPost(DataSet: TDataSet);
    procedure stkbillsubCalcFields(DataSet: TDataSet);
    procedure stkbillsubproductidChange(Sender: TField);
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  comdatabase: Tcomdatabase;

implementation

uses PS_welcome, PS_main;

{$R *.DFM}

procedure Tcomdatabase.ordbillsubCalcFields(DataSet: TDataSet);
begin
  ordbillsubmoney.value:=ordbillsubprice.Value*ordbillsubamount.Value;
  ordbillsubtax.Value:=ordbillsubmoney.Value*ordbillsubtaxrate.Value;
end;

procedure Tcomdatabase.ordbillsubproductidChange(Sender: TField);
begin
  ordbillsubprice.Value:=comproduct.FieldValues['suggprice'];
  ordbillsubtaxrate.Value:=comproduct.FieldValues['taxrate'];
end;

procedure Tcomdatabase.ordbillsubAfterPost(DataSet: TDataSet);
begin
  with ordbillmain do begin
    edit;
    fieldvalues['totalmoney']:=0;
    fieldvalues['totaltax']:=0;
    end;
  with ordbillsub do begin
    disablecontrols;
    first;
    while not Eof do begin
      ordbillmain.Fieldvalues['totalmoney']:=ordbillmain.fieldvalues['totalmoney']+fieldvalues['money'];
      ordbillmain.fieldvalues['totaltax']:=ordbillmain.fieldvalues['totaltax']+fieldvalues['tax'];
      next;
      end;
    enablecontrols;
    end;
(*  with ordbillmain do begin
    post;
    applyupdates;
    end;*)
end;

procedure Tcomdatabase.stkbillsubAfterPost(DataSet: TDataSet);
begin
  with stkbillmain do begin
    edit;
    fieldvalues['totalmoney']:=0;
    fieldvalues['totaltax']:=0;
    end;
  with stkbillsub do begin
    disablecontrols;
    first;
    while not Eof do begin
      stkbillmain.Fieldvalues['totalmoney']:=stkbillmain.fieldvalues['totalmoney']+fieldvalues['money'];
      stkbillmain.fieldvalues['totaltax']:=stkbillmain.fieldvalues['totaltax']+fieldvalues['tax'];
      next;
      end;
    first;
    enablecontrols;
    end;
(*  with stkbillmain do begin
    post;
    applyupdates;
    end; *)
end;

procedure Tcomdatabase.stkbillsubCalcFields(DataSet: TDataSet);
begin
  stkbillsubmoney.value:=stkbillsubprice.Value*stkbillsubamount.Value;
  stkbillsubtax.Value:=stkbillsubmoney.Value*stkbillsubtaxrate.Value;
end;

procedure Tcomdatabase.stkbillsubproductidChange(Sender: TField);
begin
  stkbillsubprice.Value:=comproduct.FieldValues['suggprice'];
  stkbillsubtaxrate.Value:=comproduct.FieldValues['taxrate'];
  if stkbillmain.FieldValues['flag']=2 then
    stkbillsubcosts.Value:=comproduct.FieldValues['presentcost'];
end;

procedure Tcomdatabase.DataModuleCreate(Sender: TObject);
begin
  try
    company.Open;
    application.CreateForm(tf_main,f_main);
  except
    f_welcome:=tf_welcome.Create(f_welcome);
    f_welcome.L_text.Left:=264;
    f_welcome.L_text.Caption:='← 如何使用本软件';
    f_welcome.L_text.Cursor:=crHandPoint;
    f_welcome.L_text.OnClick:=f_welcome.L_textClick;
    f_welcome.T_start.Enabled:=true;
    f_welcome.showmodal;
  end;
end;

procedure Tcomdatabase.DataModuleDestroy(Sender: TObject);
begin
  company.close;
end;

end.

⌨️ 快捷键说明

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