IRelQueryTableInfo Interface

Provides access to members that provide information about joins.

Members

Name Description
Method GetBaseTableOfField Returns the base table for a particular field.
Read-only property HasDirectAccessLookup Indicates if direct access lookup is used by a RelQueryTable to match records between the source and destination tables.
Read-only property JoinType Type of table join.
Read-only property QueryDef QueryDef used to create the join. This property will be null if the join is done on the client.

IRelQueryTableInfo.GetBaseTableOfField Method

Returns the base table for a particular field.

Public Function GetBaseTableOfField ( _
    ByVal column As String _
) As ITable
public ITable GetBaseTableOfField (
    string column
);

Remarks

The GetBaseTableofField method will return the underlying Table object that is associated with a field in a RelQueryTable. To ensure that the column will be found, provide a fully qualified field name when executing this method.

IRelQueryTableInfo.HasDirectAccessLookup Property

Indicates if direct access lookup is used by a RelQueryTable to match records between the source and destination tables.

Public ReadOnly Property HasDirectAccessLookup As Boolean
public bool HasDirectAccessLookup {get;}

Remarks

The HasDirectAccessLookupproperty returns true if the destination table supports the IRandomAccessCursorinterface and the source table has an ObjectID field. This interface allows for faster data access and therefore better join performance. Tables from shapefile and ArcGIS for Desktop Advanced workspace factories support this interface.

IRelQueryTableInfo.JoinType Property

Type of table join.

Public ReadOnly Property JoinType As esriJoinType
public esriJoinType JoinType {get;}

Remarks

The JoinType can be either esriLeftInnerJoinor esriLeftOuterJoin. A left outer join ensures that all records in the source are returned. A left inner join will only return rows that have matching key field values. The diagram below illustrates the difference.

When using ArcMap's user interface to join data, you can choose between either type of join. Clicking the advanced button on the join data dialog box will display a dialog box that allows you to choose the join type. Here, the "Keep all records" option refers to a left outer join when the "Keep only matching records" option specifies a left inner join.

IRelQueryTableInfo.QueryDef Property

QueryDef used to create the join. This property will be null if the join is done on the client.

Public ReadOnly Property QueryDef As IQueryDef
public IQueryDef QueryDef {get;}

Remarks

The QueryDef property returns the query that is used to retrieve the joined data when processing is done on the server. If the join is processed on the client as apposed to a server, the QueryDef property returns a null value.

If all tables involved are stored on the same ArcSDE, Personal or File Geodatabase, the processing can be performed by the server, which is normally faster. The JoinTypemust also be esriLeftInnerJoin in order for processing to occur on the server. In any other case, processing occurs on the client.

Classes that implement IRelQueryTableInfo

Classes Description
RelQueryTable An object that joins two datasets based on common data values.

Remarks

The IRelQueryTableInfointerface provides properties and methods that return information about a RelQueryTableafter it has been created.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.