📄 dmunit.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 + -