Table Property

See Also   Applies To

Indicates the name of a CdbRelation object's primary table. This should be equal to the Name property setting of a CdbTableDef or CdbQueryDef object (Microsoft Jet workspaces only).

Syntax

VOIDSetTable(LPCTSTR pstr );

CStringGetTable(VOID);

Parameters

Type Argument Description
LPCTSTR pstr A pointer to a string that contains the name of a table in the TableDefs collection or query in the QueryDefs collection.

Remarks

The Table property setting is read/write for a new CdbRelation object not yet appended to a collection and read-only for an existing CdbRelation object in a Relations collection.

Use the Table property with the ForeignTable property to define a CdbRelation object, which represents the relationship between fields in two tables or queries. Set the Table property to the Name property setting of the primary CdbTableDef or CdbQueryDef object, and set the ForeignTable property to the Name property setting of the foreign (referencing) CdbTableDef or CdbQueryDef object. The Attributes property determines the type of relationship between the two objects.

For example, if you had a list of valid part codes (in a field named PartNo) stored in a ValidParts table, you could establish a one-to-many relationship with an OrderItem table such that if a part code were entered into the OrderItem table, it would have to already be in the ValidParts table. If the part code didn't exist in the ValidParts table and you had not set the Attributes property of the CdbRelation object to dbRelationDontEnforce, a trappable error would occur.

In this case, the ValidParts table is the primary table, so the Table property of the CdbRelation object would be set to ValidParts and the ForeignTable property of the CdbRelation object would be set to OrderItem. The Name and ForeignName properties of the CdbField object in the CdbRelation object's Fields collection would be set to PartNo.

The following illustration depicts this relation.