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

📄 dmunit.pas

📁 仓库出单管理系统,采用SQL数据库,功能并不强大,但在操作的方便性上花了一点功夫,对新手有一定的学习作用
💻 PAS
字号:
unit DMUnit;

interface

uses
  SysUtils, Classes, DB, ADODB, Forms, Windows, Dialogs, RM_Class,
  RM_DsgGridReport, RM_e_Xls, RM_e_Graphic, RM_e_Jpeg, RM_Common,
  RM_e_main, RM_e_htm, RM_GridReport, RM_Dataset;

type
  TDM = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADOTableUser: TADOTable;
    DataSourceUser: TDataSource;
    ADOQueryUserName: TADOQuery;
    DataSourceUserName: TDataSource;
    ADOQuery1: TADOQuery;
    RMHTMExport1: TRMHTMExport;
    RMJPEGExport1: TRMJPEGExport;
    RMXLSExport1: TRMXLSExport;
    RMGridReportDesigner1: TRMGridReportDesigner;
    DataSourceSystemSet: TDataSource;
    ADOTableSystemSet: TADOTable;
    ADOQueryClientPrice: TADOQuery;
    DataSourceClientPrice: TDataSource;
    ADOTableClientName: TADOTable;
    DataSourceClientName: TDataSource;
    ADOTableProductName: TADOTable;
    DataSourceProductName: TDataSource;
    SaveDialog1: TSaveDialog;
    ADOQueryOrderBill: TADOQuery;
    DataSourceOrderBill: TDataSource;
    ADOQueryLackMoney: TADOQuery;
    DataSourceBillDetail: TDataSource;
    ADOTableBillDetail: TADOTable;
    RMGridReportDesigner: TRMGridReport;
    RMDBDataSetOrderBill: TRMDBDataSet;
    RMGridReportBillDetail: TRMGridReport;
    RMDBDataSetBillDetail: TRMDBDataSet;
    RMDBDataSetLackMoney: TRMDBDataSet;
    ADOQueryDayReport: TADOQuery;
    DataSourceDayReport: TDataSource;
    RMGridReportDayReport: TRMGridReport;
    RMDBDataSetDayReport: TRMDBDataSet;
    ADOTableBillDetailid: TAutoIncField;
    ADOTableBillDetailOrderBill_id: TStringField;
    ADOTableBillDetailProductName: TStringField;
    ADOTableBillDetailSpec: TFloatField;
    ADOTableBillDetailAmount: TFloatField;
    ADOTableBillDetailTotalWeight: TFloatField;
    ADOTableBillDetailPrice: TBCDField;
    ADOTableBillDetailTotalPrice: TBCDField;
    procedure DataModuleCreate(Sender: TObject);
    procedure ADOTableBillDetailCalcFields(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DM: TDM;

implementation

{$R *.dfm}

procedure TDM.DataModuleCreate(Sender: TObject);
begin
   ADOConnection1.Close;
   ADOConnection1.ConnectionString:='FILE NAME='+Application.GetNamePath+'Connect.udl';
   ADOConnection1.Connected:=True;
   ADOTableUser.Active:=True;
   ADOQueryUserName.Active:=True;
   ADOQueryClientPrice.Active:=True;
   ADOQueryOrderBill.Active:=True;
   ADOTableBillDetail.Active:=True;
   ADOTableSystemSet.Active:=True;
   ADOTableClientName.Active:=True;
   ADOTableProductName.Active:=True;
end;

procedure TDM.ADOTableBillDetailCalcFields(DataSet: TDataSet);

begin
  //计算字段
  DM.ADOTableBillDetail.FieldByName('TotalWeight').AsFloat:=DM.ADOTableBillDetail.FieldByName('Spec').AsFloat*DM.ADOTableBillDetail.FieldByName('Amount').AsFloat;
  DM.ADOTableBillDetail.FieldByName('TotalPrice').AsCurrency:=DM.ADOQueryClientPrice.FieldByName('ClientPrice').AsCurrency*DM.ADOTableBillDetail.FieldByName('Spec').AsFloat*DM.ADOTableBillDetail.FieldByName('Amount').AsFloat;

   {//===============更新总重量===========================
        TotalPrice:=0;
        TotalWeight:=0;
        DM.ADOTableBillDetail.First;
        For i:=1 to DM.ADOTableBillDetail.RecordCount do
        Begin
          TotalPrice:=TotalPrice+DM.ADOTableBillDetail.FieldByName('TotalPrice').AsCurrency;
          TotalWeight:=TotalWeight+DM.ADOTableBillDetail.FieldByName('TotalWeight').AsFloat;
          DM.ADOTableBillDetail.Next;
        End;
        DM.ADOQueryOrderBill.Edit;
        DM.ADOQueryOrderBill.FieldByName('TotalPrice1').AsCurrency:=TotalPrice;
        DM.ADOQueryOrderBill.FieldByName('TotalWeight').AsFloat:=TotalWeight;
        DM.ADOQueryOrderBill.Post; }

end;

end.

⌨️ 快捷键说明

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