Chapter 13 - Project FieldLookup |
Project Structure
| FieldLookup.dpr |
program FieldLookup;
uses
Forms,
FieldLookupF in 'FieldLookupF.pas' ,
FLookupDm in 'FLookupDm.pas' ;
begin
Application.Initialize;
Application.CreateForm(TFormFieldLookup, FormFieldLookup);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end.
| FieldLookupF.pas |
unit FieldLookupF;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
StdCtrls, Forms, DBCtrls, DB, DBGrids, DBTables, Grids, Mask, ExtCtrls;
type
TFormFieldLookup = class(TForm)
DBGrid1: TDBGrid;
DBNavigator: TDBNavigator;
Panel1: TPanel;
Panel3: TPanel;
private
public
end;
var
FormFieldLookup: TFormFieldLookup;
implementation
uses FLookupDm;
end.
| FLookupDm.pas |
unit FLookupDm;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TDataModule1 = class(TDataModule)
Table1: TTable;
Table2: TTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
Table1OrderNo: TFloatField;
Table1CustNo: TFloatField;
Table1SaleDate: TDateTimeField;
Table1ShipDate: TDateTimeField;
Table1EmpNo: TIntegerField;
Table1ShipToContact: TStringField;
Table1ShipToAddr1: TStringField;
Table1ShipToAddr2: TStringField;
Table1ShipToCity: TStringField;
Table1ShipToState: TStringField;
Table1ShipToZip: TStringField;
Table1ShipToCountry: TStringField;
Table1ShipToPhone: TStringField;
Table1ShipVIA: TStringField;
Table1PO: TStringField;
Table1Terms: TStringField;
Table1PaymentMethod: TStringField;
Table1ItemsTotal: TCurrencyField;
Table1TaxRate: TFloatField;
Table1Freight: TCurrencyField;
Table1AmountPaid: TCurrencyField;
Table1Employee: TStringField;
private
public
end;
var
DataModule1: TDataModule1;
implementation
end.
| FieldLookupF.dfm |
object FormFieldLookup: TFormFieldLookup
Left = 185
Top = 140
Width = 596
Height = 305
ActiveControl = Panel1
Caption = 'Master Detail with Lookup'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 588
Height = 41
Align = alTop
TabOrder = 0
object DBNavigator: TDBNavigator
Left = 8
Top = 8
Width = 161
Height = 25
DataSource = DataModule1.DataSource1
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbPost, nbCancel, nbRefresh]
Ctl3D = False
ParentCtl3D = False
TabOrder = 0
end
end
object Panel3: TPanel
Left = 0
Top = 41
Width = 588
Height = 237
Align = alClient
BevelInner = bvLowered
BorderWidth = 4
Caption = 'Panel3'
TabOrder = 1
object DBGrid1: TDBGrid
Left = 6
Top = 6
Width = 576
Height = 225
Align = alClient
BorderStyle = bsNone
DataSource = DataModule1.DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clBlack
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
end
end
| FLookupDm.dfm |
object DataModule1: TDataModule1
OldCreateOrder = False
Left = 225
Top = 149
Height = 150
Width = 215
object Table1: TTable
Active = True
DatabaseName = 'DBDEMOS'
TableName = 'orders.db'
Left = 40
Top = 16
object Table1OrderNo: TFloatField
FieldName = 'OrderNo'
DisplayFormat = '''#''0000'
end
object Table1CustNo: TFloatField
Alignment = taLeftJustify
CustomConstraint = 'CustNo IS NOT NULL'
ConstraintErrorMessage = 'CustNo cannot be blank'
FieldName = 'CustNo'
Required = True
DisplayFormat = 'CN 0000'
MaxValue = 9999
MinValue = 1000
end
object Table1Employee: TStringField
FieldKind = fkLookup
FieldName = 'Employee'
LookupDataSet = Table2
LookupKeyFields = 'EmpNo'
LookupResultField = 'LastName'
KeyFields = 'EmpNo'
Size = 30
Lookup = True
end
object Table1SaleDate: TDateTimeField
FieldName = 'SaleDate'
end
object Table1ShipDate: TDateTimeField
FieldName = 'ShipDate'
end
object Table1EmpNo: TIntegerField
CustomConstraint = 'Value > 0'
ConstraintErrorMessage = 'EmpNo cannot be 0 or negative'
FieldName = 'EmpNo'
Required = True
Visible = False
DisplayFormat = 'Emp''#'' 0000'
MaxValue = 9999
MinValue = 1
end
object Table1ShipToContact: TStringField
FieldName = 'ShipToContact'
end
object Table1ShipToAddr1: TStringField
FieldName = 'ShipToAddr1'
Size = 30
end
object Table1ShipToAddr2: TStringField
FieldName = 'ShipToAddr2'
Size = 30
end
object Table1ShipToCity: TStringField
FieldName = 'ShipToCity'
Size = 15
end
object Table1ShipToState: TStringField
FieldName = 'ShipToState'
end
object Table1ShipToZip: TStringField
FieldName = 'ShipToZip'
Size = 10
end
object Table1ShipToCountry: TStringField
FieldName = 'ShipToCountry'
end
object Table1ShipToPhone: TStringField
FieldName = 'ShipToPhone'
Size = 15
end
object Table1ShipVIA: TStringField
FieldName = 'ShipVIA'
Size = 7
end
object Table1PO: TStringField
FieldName = 'PO'
Size = 15
end
object Table1Terms: TStringField
FieldName = 'Terms'
Size = 6
end
object Table1PaymentMethod: TStringField
FieldName = 'PaymentMethod'
Size = 7
end
object Table1ItemsTotal: TCurrencyField
FieldName = 'ItemsTotal'
end
object Table1TaxRate: TFloatField
FieldName = 'TaxRate'
DisplayFormat = '0.00%'
MaxValue = 100
end
object Table1Freight: TCurrencyField
FieldName = 'Freight'
end
object Table1AmountPaid: TCurrencyField
FieldName = 'AmountPaid'
end
end
object Table2: TTable
Active = True
DatabaseName = 'DBDEMOS'
TableName = 'employee.db'
Left = 40
Top = 64
end
object DataSource1: TDataSource
DataSet = Table1
Left = 88
Top = 16
end
object DataSource2: TDataSource
DataSet = Table2
Left = 88
Top = 64
end
end
|
|