home *** CD-ROM | disk | FTP | other *** search
- unit Edparts;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, DBTables, DB, StdCtrls, ExtCtrls, Mask, DBCtrls, DBLookup,
- Buttons;
-
- type
- TEdPartsForm = class(TForm)
- Panel1: TPanel;
- Navigator: TDBNavigator;
- Parts: TTable;
- PartsSource: TDataSource;
- PartsPartNo: TFloatField;
- PartsDescription: TStringField;
- PartsOnHand: TFloatField;
- PartsOnOrder: TFloatField;
- PartsCost: TCurrencyField;
- PartsListPrice: TCurrencyField;
- PartsVendorNo: TFloatField;
- PartsBackOrd: TBooleanField;
- Vendors: TTable;
- VendorSource: TDataSource;
- Panel2: TPanel;
- Label1: TLabel;
- DBEdit2: TDBEdit;
- DBEdit4: TDBEdit;
- DBEdit5: TDBEdit;
- DBEdit7: TDBEdit;
- DBEdit8: TDBEdit;
- DBLookupCombo2: TDBLookupCombo;
- DBEdPartNo: TDBEdit;
- Label6: TLabel;
- DBEdit3: TDBEdit;
- PrintBtn: TSpeedButton;
- DoneBtn: TButton;
- procedure PartsCalcFields(DataSet: TDataSet);
- procedure PartsBeforeOpen(DataSet: TDataset);
- procedure FormCreate(Sender: TObject);
- procedure PrintBtnClick(Sender: TObject);
- procedure DoneBtnClick(Sender: TObject);
- procedure PartsAfterInsert(DataSet: TDataset);
- procedure PartsAfterPost(DataSet: TDataset);
- procedure PartsAfterCancel(DataSet: TDataset);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- private
- procedure SetPartnoField(Enabled: Boolean);
- public
- procedure Edit(PartNo: Double);
- end;
-
- var
- EdPartsForm: TEdPartsForm;
-
- implementation
-
- {$R *.DFM}
-
- uses Main;
-
-
- procedure TEdPartsForm.Edit(PartNo: Double);
- begin
- if MainForm.Database.IsSQLbased then
- Mainform.Database.StartTransaction;
- Parts.Open;
- Parts.FindKey([PartNo]);
- ShowModal;
- end;
-
- procedure TEdPartsForm.PartsCalcFields(DataSet: TDataSet);
- begin
- PartsBackOrd.Value := PartsOnOrder.Value > PartsOnHand.Value;
- end;
-
- procedure TEdPartsForm.PartsBeforeOpen(DataSet: TDataset);
- begin
- Vendors.Open;
- end;
-
- procedure TEdPartsForm.FormCreate(Sender: TObject);
- begin
- Parts.Open;
- end;
-
- procedure TEdPartsForm.SetPartnoField(Enabled: Boolean);
- begin
- if Enabled then
- begin
- DbEdPartNo.ReadOnly := False;
- DbEdPartNo.Color := clWindow;
- end
- else
- begin
- DbEdPartNo.ReadOnly := True;
- DbEdPartNo.Color := clSilver;
- end;
- end;
-
- procedure TEdPartsForm.PartsAfterInsert(DataSet: TDataset);
- begin
- SetPartnoField(True);
- end;
-
- procedure TEdPartsForm.PartsAfterPost(DataSet: TDataset);
- begin
- SetPartnoField(False);
- if MainForm.Database.IsSQLbased then
- begin
- MainForm.Database.Commit;
- MainForm.Database.StartTransaction;
- end;
- end;
-
- procedure TEdPartsForm.PartsAfterCancel(DataSet: TDataset);
- begin
- SetPartnoField(False);
- if MainForm.Database.IsSQLbased then
- begin
- MainForm.Database.Rollback;
- MainForm.Database.StartTransaction;
- end;
- end;
-
- procedure TEdPartsForm.PrintBtnClick(Sender: TObject);
- begin
- if MessageDlg(' Print this form?', mtConfirmation, [mbYes,mbNo], 0) =
- mrYes then
- Print;
- end;
-
- procedure TEdPartsForm.DoneBtnClick(Sender: TObject);
- begin
- if Parts.State in [dsEdit, dsInsert] then Parts.Post;
- Close;
- end;
-
- procedure TEdPartsForm.FormClose(Sender: TObject;
- var Action: TCloseAction);
- begin
- if Parts.State in [dsEdit, dsInsert] then Parts.Post;
- if MainForm.Database.IsSQLbased then
- MainForm.Database.Commit;
- end;
-
- end.
-