A database independent name indicating the data subtype of the value stored in a field.

Property of

CalcField, DbfField, Field, PdxField, SqlField

Description

Each database engine has its own set of data types that are referred to as its native data types. A data type in one database engine may be physically identical to a data type used by another database engine, but have a different name.

Mapping these native types to a set of database independent (logical) data types allows physically identical data types to have the same logicalType even when their native data types differ.

For example, the logical type for both a Paradox table’s “Alpha” field and a dBASE table’s “Character” field is “ZSTRING”. This indicates they are both character strings with a null byte at the end of the string.

Some logicalTypes contain sub groupings, called logicalSubTypes, which specify further the type of data that can be stored in each field type. It may be necessary, therefore, to also compare logicalSubTypes when checking for data type compatibility.

For example, a BLOB logicalType may also contain one of the following logicalSubTypes:

MEMO

BINARY

FMTMEMO

OLEOBJ

GRAPHIC

DBSOLEOBJ

TYPEDBINARY

ACCOLEOBJ

The following table lists possible values for the logicalSubType property:

logicalType

logicalSubType

Description

FLOAT

MONEY

Money

BLOB

MEMO

Text memo

 

BINARY

Binary data

 

FMTMEMO

Formatted text

 

OLEOBJ

OLE object (Paradox)

 

GRAPHIC

Graphics object

 

DBSOLEOBJ

dBASE OLE object

 

TYPEDBINARY

Typed binary data

 

ACCOLEOBJ

Access OLE object

ZSTRING

PASSWORD

Password

 

FIXED

CHAR type

 

UNICODE

Unicode

INT32

AUTOINC

Auto Increment value

Tip: Using the logicalType and logicalSubType properties, you could write a dBASE Plus program to check whether data from a table containing a DbfField data type can be copied to a table containing a PdxField data type.