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

📄 untaddoil.pas

📁 用delphi编写的数据库管理软件
💻 PAS
字号:
unit untAddOil;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseEdit, MSNPopUp, FR_DSet, FR_DBSet, FR_Class, Menus, DB,
  DBClient, ActnList, Grids, DBGridEh, StdCtrls, ExtCtrls, Mask, wwdbedit,
  wwdblook, DBCtrlsEh, FR_Desgn;

type
  TfrmAddOil = class(TfrmBaseEdit)
    Label7: TLabel;
    Label3: TLabel;
    wwDBEdit2: TwwDBEdit;
    wwDBLookupCombo1: TwwDBLookupCombo;
    Label4: TLabel;
    wwDBEdit1: TwwDBEdit;
    Label6: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label8: TLabel;
    wwDBEdit3: TwwDBEdit;
    Label9: TLabel;
    wwDBEdit4: TwwDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    wwDBEdit6: TwwDBEdit;
    wwDBLookupCombo2: TwwDBLookupCombo;
    CDSVehicle: TClientDataSet;
    CDShandle: TClientDataSet;
    CDSVehiclefid: TAutoIncField;
    CDSVehiclefcode: TWideStringField;
    CDSVehiclefname: TWideStringField;
    CDSVehiclefmodel: TWideStringField;
    CDSVehiclefcolor: TWideStringField;
    CDSVehicleffuel: TBCDField;
    CDSVehiclefengineno: TWideStringField;
    CDSVehiclefvehicleno: TWideStringField;
    CDSVehiclefprovider: TWideStringField;
    CDSVehiclefbuydate: TDateTimeField;
    CDSVehiclefsafeno: TWideStringField;
    CDSVehiclefsafetype: TWideStringField;
    CDSVehiclefsafecompany: TWideStringField;
    CDSVehiclefsafedate: TDateTimeField;
    CDSVehiclefsafelastdate: TDateTimeField;
    CDSVehiclefdriver: TWideStringField;
    CDSVehiclefbusinessno: TWideStringField;
    CDSVehiclefannexno: TWideStringField;
    CDSVehicleftwomaintenancestart: TDateTimeField;
    CDSVehicleftwomaintenancelast: TDateTimeField;
    CDSVehiclefdeposit: TBCDField;
    CDSVehiclefrentday: TBCDField;
    CDSVehiclefrentweek: TBCDField;
    CDSVehiclefrentmonth: TBCDField;
    CDSVehiclefkilometreday: TBCDField;
    CDSVehiclefreceipthour: TBCDField;
    CDSVehiclefreceiptkilometre: TBCDField;
    CDSVehiclefmaxkilometre: TBCDField;
    CDSVehiclefoutoil: TBCDField;
    CDSVehiclefhandle: TWideStringField;
    CDSVehiclefstate: TBooleanField;
    CDSVehiclefdesc: TWideStringField;
    CDSVehiclefremark: TWideStringField;
    CDSVehiclefpicture: TWideStringField;
    CDSVehiclefoutk: TBCDField;
    CDSVehiclefoutf: TBCDField;
    CDShandlefID: TAutoIncField;
    CDShandlefCode: TWideStringField;
    CDShandlefName: TWideStringField;
    CDShandlefDeptCode: TWideStringField;
    CDShandlefDriveID: TWideStringField;
    CDShandlefSex: TWideStringField;
    CDShandlefPosition: TWideStringField;
    CDShandlefAddress: TWideStringField;
    CDShandlefEmail: TWideStringField;
    CDShandlefTel: TWideStringField;
    CDShandlefMobile: TWideStringField;
    CDShandlefBP: TWideStringField;
    CDShandlefDegree: TWideStringField;
    CDShandlefCollege: TWideStringField;
    CDShandlefBirthAddress: TWideStringField;
    CDShandlefBirthday: TDateTimeField;
    CDShandlefInTime: TDateTimeField;
    CDShandlefOutTime: TDateTimeField;
    CDShandlefMoney: TBCDField;
    CDShandlefStatus: TBooleanField;
    CDShandlefNotes: TWideStringField;
    CDShandlefPicture: TWideStringField;
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CDSBaseinfoBeforePost(DataSet: TDataSet);
    procedure wwDBLookupCombo1Change(Sender: TObject);
    procedure CDSBaseinfoAfterPost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmAddOil: TfrmAddOil;

implementation

uses DataProcess, Global;

{$R *.dfm}

procedure TfrmAddOil.FormDestroy(Sender: TObject);
begin
  inherited;
  frmAddOil:=nil;
end;

procedure TfrmAddOil.FormCreate(Sender: TObject);
begin
  inherited;
    iFunctionID:=35;
    MainTable:='tAddOil';
    MainView:='vAddOil';
    KeyField:='fid';
    ReportName:='frAddOil.frf';
end;

procedure TfrmAddOil.acNewExecute(Sender: TObject);
begin
  inherited;
wwDBEdit2.SetFocus; 
end;

procedure TfrmAddOil.FormShow(Sender: TObject);
begin
  inherited;
  GetsqlData(CDSVehicle,'tVehicle','fid','fid>0',20);
  GetsqlData(CDSHandle,'tEmployee','fid','fid>0',20);
end;

procedure TfrmAddOil.CDSBaseinfoBeforePost(DataSet: TDataSet);
begin
  inherited;
with CDSBaseinfo do
begin
if VarisNUll(FieldValues['fcode']) then
   Raise Exception.Create('车名不能为空 !');
if VarisNUll(FieldValues['fqty']) then
   Raise Exception.Create('加油数量不能为空 !');
if VarisNUll(FieldValues['fprice']) then
   Raise Exception.Create('油单价不能为空 !');
end;

  with CDSBaseinfo do
    Fieldbyname('famount').AsFloat:=fieldbyname('fqty').AsFloat*
                                    fieldbyname('fprice').AsFloat;
                                    
end;

procedure TfrmAddOil.wwDBLookupCombo1Change(Sender: TObject);
begin
  inherited;
  if CDSBaseinfo.State in [dsEdit,dsInsert] then
    CDSBaseinfo.FieldByName('fVehicleID').AsInteger:=
        CDSVehicle.fieldbyname('fid').AsInteger;  
end;

procedure TfrmAddOil.CDSBaseinfoAfterPost(DataSet: TDataSet);
begin
  inherited;
if FormStatus = 'Add' then
  WriteBalance(1,3,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--加油付款',
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('famount').AsFloat,
                  0);
if FormStatus = 'Edit' then
  WriteBalance(2,3,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--加油付款',
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('famount').AsFloat,
                  0);
end;

end.

⌨️ 快捷键说明

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