Appendix B: Microsoft Jet 4.0 OLE DB Properties Reference

The Properties collections in ADO contain a dynamic set of properties returned by the OLE DB Provider being used. The tables to follow contain the list of properties, both standard OLE DB and provider-specific, that are available in the Properties collections of ADO and ADOX objects when using the Microsoft Jet 4.0 OLE DB Provider.

The Property Name column shows the name of the property used when accessing the property in the collection. For example, the Data Source property is accessed as follows:

Dim cnn As New ADODB.Connection
cnn.Properties("Data Source") = "c:\nwind.mdb"

The Type column indicates the ADO data type for the column. For properties on ADO objects (Connection, Recordset), ADO will automatically try to coerce the value specified when setting the property. For example, if the property is type adBStr and you set the value to 5, ADO will coerce the value to "5." ADOX will not automatically attempt to coerce property values. If you attempt to set a property of type adBStr in an ADOX collection to 5, you'll receive a run-time error. When developing in Visual Basic for Applications you can indicate the type for the property value either explicitly or implicitly. To explicitly specify the data type, use the Visual Basic for Applications built-in functions CStr, CLng, CInt, and CBool when setting properties of type adBStr, adInteger, adSmallInt, and adBoolean respectively. For properties of type adBStr, adSmallInt, and adBoolean you can specify the data type implicitly by using quotes around the string, specifying a number, or using True or False respectively.

The Default column indicates the default value for the property.

The Attributes column is a bitmask that is used to indicate whether the property can be read, set, or is required. If adPropWrite is not listed as an attribute, that property is for information only and cannot be modified when using the Microsoft Jet 4.0 OLE DB Provider.

The Description column contains a brief description of the property. In many cases the property is not meaningful for ADO programmers and should only be used when writing directly to the OLE DB Provider. When the property is not useful for ADO programmers the column will contain "N/A".

ADO Connection Properties

Property
name
Type Default Attributes Description
Cache Authentication adBoolean True adPropRead

adPropRequired

Indicates whether the provider is allowed to cache sensitive authentication information, such as a password in an internal cache.
Data Source adBStr "" adPropRead

adPropWrite

adPropRequired

The name of the database to connect to.
Encrypt Password adBoolean False adPropRead

adPropRequired

Indicates whether the password must be sent to the data source in an encrypted form.
Extended Properties adBStr "" adPropRead

adPropWrite

adPropRequired

A string containing connection information for opening external databases.
Locale Identifier adInteger 1033 adPropRead

adPropWrite

adPropRequired

The locale ID of preference.
Mask Password adBoolean False adPropRead

adPropRequired

Indicates whether the password must be sent to the data source in a masked form.
Mode adInteger 16 adPropRead

adPropWrite

adPropRequired

A bitmask specifying access permissions. A combination or zero or more of the following:

0: (adShareModeExclusive) Prevents others from opening in read/write mode.

1: (adShareModeReadOnly) Read-only.

2: (adShareModeWrite) Write-only.

3: (adShareModeReadWrite) Read/write

4: (adShareModeDenyRead)

Prevents others from opening in read mode.

8: (adShareModeDenyWrite) Prevents other from opening in write mode.

16: (adShareModeDenyNone) Neither read nor write access can be denied to others.

OLE DB Services adInteger -6 (All services except pooling and Client Cursor Engine) adPropRead

adPropWrite

adPropRequired

A bitmask specifying the OLE DB services to enable. One of the following values:

0: No services.

-1: All services.

-4: All except pooling and automatic transaction enlistment.

-5: All except Client Cursor Engine.

-8: All except pooling, automatic transaction enlistment, and Client Cursor Engine.

3: Pooling and automatic transaction enlistment only, session-level aggregation only.

Password adBStr "" adPropRead

adPropWrite

adPropRequired

The password to be used when connecting to the data source. When the value of this property is retrieved, the provider may return a mask or an empty string instead of the actual password.
Persist Encrypted adBoolean False adPropRead

adPropRequired

Indicates whether the provider must persist sensitive authentication information in an encrypted form.
Persist Security Info adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the provider is allowed to persist sensitive authentication information such as a password along with other authentication information.
Prompt adSmallInt 2 adPropRead

adPropWrite

adPropRequired

Whether to prompt the user during initialization. One of the following values:

1: (adPromptAlways) Always prompt the user for initialization information.

2: (adPromptComplete) Prompt the user only if more information is needed.

3: (adPromptCompleteRequired) Prompt the user only if more information is needed. Do not allow the user to enter optional information.

4: (adPromptNever) Do not prompt the user.

User Id adBStr "" adPropRead

adPropWrite

adPropRequired

The user ID to be used when connecting to the data source.
Window Handle adInteger 0 adPropRead

adPropWrite

adPropRequired

The window handle to be used if the data source needs to prompt for additional information.
Jet OLEDB:Compact Reclaimed Space Amount adInteger 0 adPropRead

adPropRequired

Approximate amount of space that would be reclaimed by compacting this database. This value is only updated when the database is opened and is not guaranteed to be exact.
Jet OLEDB:Compact Without Replica Repair adBoolean False adPropRead

adPropWrite

adPropRequired

Used with the JRO CompactDatabase method. Ignored when used with the ADO Connection object or the ADOX Create method.
Jet OLEDB:Create System Database adBoolean False adPropRead

adPropWrite

adPropRequired

Used with the ADOX Catalog object's Create method. Ignored when used with the ADO Connection object or JRO CompactDatabase method.
Jet OLEDB:Database Locking Mode adInteger 0 adPropRead

adPropWrite

adPropRequired

Scheme to be used when locking the database. Note that a database can only be open in one mode at a time. The first user to open the database determines the locking mode used while the database is open.

0: (JET_DATABASELOCKMODE_PAGE) Locks are taken at the page level.

1: (JET_DATABASELOCKMODE_ROW) Locks are taken at the row level.

Jet OLEDB:Database Password adBStr "" adPropRead

adPropWrite

adPropRequired

Password used to open the database. This differs from the user password in that the database password is per file, while a user password is per user.
Jet OLEDB:Don't Copy Locale on Compact adBoolean False adPropRead

adPropWrite

adPropRequired

Used with the JRO CompactDatabase method. Ignored when used with the ADO Connection object or the ADOX Create method.
Jet OLEDB:Encrypt Database adBoolean False adPropRead

adPropWrite

adPropRequired

Used with the ADOX Catalog object's Create method and the JRO CompactDatabase method. Ignored when used with the ADO Connection object.
Jet OLEDB:Engine Type adInteger 0 adPropRead

adPropWrite

adPropRequired

An enumeration defining the storage engine currently in use to access this database/store.

See "Appendix C: Microsoft Jet 4.0 Provider-Defined Property Values" for the list of valid values.

Jet OLEDB:Global Bulk Transactions adInteger 1 adPropRead

adPropWrite

adPropRequired

Determines if SQL bulk operations are transacted. This property determines the default for all operations in the current connection.

1: (JET_BULKTRAN_NOBULK) Use partial updates like Access.

2: (JET_BULKTRAN_BULK) Use no partial behavior. All or nothing.

Jet OLEDB:Global Partial Bulk Ops adInteger 2 adPropRead

adPropWrite

adPropRequired

This property determines the behavior of Microsoft Jet when SQL DML bulk operations fail. It can be overridden on a per-rowset basis by setting the Jet OLEDB:Partial Bulk Ops property.

0: (JET_BULKPARTIAL_DEFAULT)

1: (JET_BULKPARTIAL_PARTIAL) Allow partial completion of the bulk operation. Could result in inconsistent changes because operations on some rows could succeed and others could fail.

2: (JET_BULKPARTIAL_NOPARTIAL) Fail the bulk operation on a single error.

Jet OLEDB:New Database Password adBStr "" adPropRead

adPropWrite

adPropRequired

This property is ignored. It is used with the OLE DB IDataSourceAdmin::ModifyDataSource interface, which is not currently exposed in ADO.
Jet OLEDB:Registry Path adBStr "" adPropRead

adPropWrite

adPropRequired

Path to the registry key to use for Microsoft Jet information. This does not include the HKEY_LOCAL_MACHINE tag. This value can be changed to a secondary location to store registry values for a particular application that are not shared with other applications that use Microsoft Jet on the machine.

For example, the setting for Access 2000 is: SOFTWARE\Microsoft\Office\9.0\Access\Jet\4.0\Engines.

Jet OLEDB:SFP adBoolean False adPropRead

adPropWrite

adPropRequired

N/A
Jet OLEDB:System database adBStr "" adPropRead

adPropWrite

adPropRequired

Location of the Microsoft Jet system database to use for authenticating users. This overrides the value set in the registry or the corresponding systemdb registry key used when Jet OLEDB:Registry Path is used. This can include the path to the file.

In addition to the properties in the preceding table, the following properties are available once the Connection has been opened.

Property
name
Type Default Attributes Description
Active Sessions adInteger 128 adPropRead

adPropRequired

The maximum number of sessions that can exist at the same time.
Alter Column Support adInteger 36 adPropRead

adPropRequired

A bitmask that describes what column properties can be updated when modifying a column on a table. A combination of one or more of the following:

1: Modify the data type of the column.

2: Modify the type library entry for an abstract data type (ADT).

4: Modify the column properties using an array of properties and values to be set.

8: Modify the class ID for COM objects in the column.

16: If the type of the column is adVarChar, modify the maximum length in characters for values in this column. If the type of the column is adBinary, modify the maximum length in bytes for values in this column. For all other types, this is ignored.

32: Modify the name of the column.

64: Modify the data type of the column.

128: Modify the maximum precision of data values in the column when type is adNumeric.

256: Modify the scale of data values in the column when type is adNumeric.

Asynchable Commit adBoolean False adPropRead

adPropRequired

Whether transactions can be committed asynchronously.
Asynchable Abort adBoolean False adPropRead

adPropRequired

Whether transactions can be aborted asynchronously.
Autocommit Isolation Levels adInteger 4096 adPropRead

adPropRequired

The transaction isolation level while in auto-commit mode.
Catalog Location adInteger 1 adPropRead

adPropRequired

The position of the catalog name in a qualified table name in a text command. One of the following:

1: The catalog name is at the start of the fully qualified name.

2: The catalog name is at the end of the fully qualified name.

Catalog Term adBStr Database adPropRead

adPropRequired

The name the data source uses for a catalog; for example, "catalog," "database," or "directory."
Column Definition adInteger 1 adPropRead

adPropRequired

A bitmask defining the valid clauses for the definition of a column.  A combination of zero or more of the following:

1: Columns can be created non-nullable.

Current Catalog adBStr "" adPropRead

adPropRequired

The name of the current catalog. The consumer can use the CATALOGS schema rowset to enumerate catalogs. Jet databases do not have distinct catalogs. This field will be blank and the CATALOGS schema empty when using a Jet database.
Data Source Name adBStr "" adPropRead

adPropRequired

The name of the data source.
Data Source Object Threading Model adInteger 1 adPropRead

adPropRequired

A bitmask specifying the threading models supported by the data source object. One of the following:

1: Free threaded

2: Apartment threaded

4: Single threaded

DBMS Name adBStr MS Jet adPropRead

adPropRequired

The name of the product accessed by the provider.
DBMS Version adBStr 04.00.0000 adPropRead

adPropRequired

The version of the product accessed by the provider. The version is of the form ##.##.####, in which the first two digits are the major version, the next two digits are the minor version, and the last four digits are the release version.
GROUP BY Support adInteger 4 adPropRead

adPropRequired

The relationship between the columns in a GROUP BY clause and the non-aggregated columns in the select list. One of the following:

1: Not supported.

2: The GROUP BY clause must contain all non-aggregated columns in the select list.

4: The GROUP BY clause must contain all non-aggregated columns in the select list.

8: The columns in the GROUP BY clause and the select list are not related.

Heterogeneous Table Support adInteger 2 adPropRead

adPropRequired

A bitmask specifying whether the provider can join tables from different catalogs or providers. A combination of one or more of the following:

1: Different catalogs

2: Different providers

Identifier Case Sensitivity adInteger 8 adPropRead

adPropRequired

Indicates how identifiers treat case. One of the following:

1: Identifiers in SQL are case insensitive and are stored in uppercase in the system catalog.

2: Identifiers in SQL are case insensitive and are stored in lowercase in the system catalog.

4: Identifiers in SQL are case sensitive and are stored in mixed case in the system catalog.

8: Identifiers in SQL are case insensitive and are stored in mixed case in the system catalog.

Isolation Levels adInteger 4096 adPropRead

adPropRequired

A bitmask specifying the supported transaction isolation levels. A combination of zero or more of the following:

256: (adXactRead Uncommitted) A transaction can see uncommitted changes made by other transactions. At this level of isolation, dirty reads, nonrepeatable reads, and phantoms are all possible.

4096: (adXactReadCommitted) A transaction can see changes made by other transactions until those transactions are committed. At this level of isolation, dirty reads are not possible, but nonrepeatable reads and phantoms are possible.

65536: (adXactRepeatableRead) A transaction is guaranteed not to see any changes made by other transactions in values it has already read. At this level of isolation, dirty reads are not possible, but phantoms are possible.

1048576: (adXactSerializable) All concurrent transactions are guaranteed to interact only in ways that produce the same effect as if each transaction were entirely executed one after the other. At this isolation level, dirty reads, nonrepeatable reads, and phantoms are not possible.

Isolation Retention adInteger 9 adPropRead

adPropRequired

A bitmask specifying the supported transaction isolation retention levels. A combination of zero or more of the following:

1: The transaction may either preserve or dispose of isolation context across a retaining commit.

2: The transaction preserves its isolation context (that is, it preserves its locks, if that is how isolation is implemented) across a retaining commit.

4: The transaction is explicitly not to preserve isolation across a retaining commit.

8: The transaction may either preserve or dispose of isolation context across a retaining abort.

16: The transaction preserves its isolation context across a retaining abort.

32: The transaction is explicitly not to preserve isolation across a retaining abort.

64: The transaction may preserve or dispose of isolation context across a retaining commit or abort.

132: Isolation is preserved across both a retaining commit or abort.

256: Isolation is explicitly not to be retained across either a retaining commit or abort.

512: Optimistic concurrency control is to be used. For whatever isolation technology is in place (such as locking), it must be the case that other transactions' ability to make changes to the data and resources manipulated by this transaction is not in any way affected by the data read or updated by this transaction. That is, optimistic control is to be used for all data in the transaction.

Maximum Index Size adInteger 255 adPropRead

adPropRequired

The maximum number of bytes allowed in the combined columns of an index. If there is no specified limit or the limit is unknown, this value is set to zero.
Maximum Row Size adInteger 4049 adPropRead

adPropRequired

The maximum length of a single row in a table. If there is no specified limit or the limit is unknown, this value is set to zero.
Maximum Row Size Includes BLOB adBoolean False adPropRead

adPropRequired

Indicates whether the maximum row size returned includes the length of all BLOB data.
Maximum Tables in SELECT adInteger 0 adPropRead

adPropRequired

The maximum number of tables allowed in the FROM clause of a SELECT statement. If there is no specified limit or the limit is unknown, this value is set to zero.
Multiple Parameter Sets adBoolean True adPropRead

adPropRequired

Indicates whether the provider supports multiple parameter sets per execution.
Multiple Results adInteger 0 adPropRead

adPropRequired

A bitmask specifying whether the provider supports multiple results from the execution of a command. A combination of zero or more of the following:

0: Not supported.

1: Supported.

2: More than one Recordset created by the same command can exist concurrently.

Multiple Storage Objects adBoolean False adPropRead

adPropRequired

Indicates whether the provider supports multiple open storage objects at the same time.
Multi-Table Update adBoolean True adPropRead

adPropRequired

Indicates whether the provider can update Recordset objects derived from multiple tables.
NULL Collation Order adInteger 4 adPropRead

adPropRequired

Indicates where null values are sorted in a list. One of the following:

1: Null values are sorted at the end of the list, regardless of sort order.

2: Null values are sorted at the high end of the list.

4: Null values are sorted at the low end of the list.

8: Null values are sorted at the start of the list, regardless of the sort order.

NULL Concatenation Behavior adInteger 2 adPropRead

adPropRequired

Indicates how the data sources handles the concatenation of null-valued character data type columns with non-null-valued character data type columns. One of the following:

1: The result is null valued.

2: The result is the concatenation of the non-null-valued column or columns.

OLE DB Version adBStr 02.10 adPropRead

adPropRequired

The version of OLE DB supported by the provider.
OLE Object Support adInteger 1 adPropRead

adPropRequired

N/A
Open Rowset Support adInteger 2 adPropRead

adPropRequired

Indicates support for opening objects.

0: The provider supports opening tables directly using adCmdTableDirect.

1: The provider supports opening an index directly.

2: The provider supports specifying both a table and an index. (Set the Recordset object's Index property and then use adCmdTableDirect.)

4: The provider supports opening a Recordset over a stored procedure by specifying the name of the stored procedure.

ORDER BY Columns in Select List adBoolean False adPropRead

adPropRequired

Whether columns in an ORDER BY clause must be in the select list.
Output Parameter Availability adInteger 1 adPropRead

adPropRequired

The time at which output parameter values become available. One of the following:

1: Not supported.

2: Immediately after command execution.

4: If a command returns a single result that is a Recordset, output parameter data is available at the time the Recordset is completely released. If a command returns multiple Recordset objects, output parameter data is available when all of the Recordset objects have been retrieved and released.

Pass By Ref Accessors adBoolean False adPropRead

adPropRequired

N/A
Persistent ID Type adInteger 4 adPropRead

adPropRequired

N/A
Prepare Abort Behavior adInteger 1 adPropRead

adPropRequired

Indicates how aborting a transaction affects prepared commands. One of the following:

1: Aborting a transaction deletes prepared commands. The application must reprepare the commands before executing them.

2: Aborting a transaction preserves prepared commands. The application can reexecute commands without repreparing them.

Prepare Commit Behavior adInteger 2 adPropRead

adPropRequired

Indicates how committing a transaction affects prepared commands. One of the following:

1: Committing a transaction deletes prepared commands. The application must reprepare the commands before executing them.

2: Committing a transaction preserves prepared commands. The application can reexecute commands without repreparing them.

Procedure Term adBStr STORED QUERY adPropRead

adPropRequired

A character string with the data source vendor's name for a procedure.
Provider Friendly Name adBStr Microsoft OLE DB Provider for Jet adPropRead

adPropRequired

The friendly name of the provider.
Provider Name adBStr MSJETOLEDB40.DLL adPropRead

adPropRequired

The file name of the provider.
Provider Version adBStr 04.00.2521 adPropRead

adPropRequired

The version of the provider.
Read-Only Data Source adBoolean False adPropRead

adPropRequired

Whether the data source is read-only or updatable.
Rowset Conversions on Command adBoolean True adPropRead

adPropRequired

N/A
Schema Term adBStr Schema adPropRead

adPropRequired

The name the data source uses for a schema.
Schema Usage adInteger 0 adPropRead

adPropRequired

A bitmask specifying how schema names can be used in text commands. A combination of zero or more of the following:

0: Schema names are not supported.

1: Schema names are supported in all data manipulation language statements.

2: Schema names are supported in all table definition statements.

4: Schema names are supported in all index definition statements.

8: Schema names are supported in all privilege definition statements.

SQL Support adInteger 512 adPropRead

adPropRequired

A bitmask specifying the level of support for SQL. A combination of zero or more of the following:

0: SQL is not supported.

1: Minimum support as defined by the ODBC version 2.5 SQL conformance level.

2: Core support as defined by the ODBC version 2.5 SQL conformance level.

4: Extended support as defined by the ODBC version 2.5 SQL conformance level.

8: The provider supports the ANSI89 Integrity Enhancement Facility.

16: Entry-level support

32: FIPS Transitional support as defined by ANSI SQL 92.

64: Intermediate-level support as defined by ANSI SQL 92.

132: Full support as defined by ANSI SQL 92.

256:The provider supports the ODBC escape clause syntax.

512: The provider supports the SQL dialect and parses the command text according to SQL rules, but does not support either the minimum ODBC level nor the ANSI SQL 92 Entry level. This level is not accumulative; providers that support at least the minimal ODBC level or ANSI SQL 92 Entry level do not set this bit.

Structured Storage adInteger   adPropRead

adPropRequired

N/A
Subquery Support adInteger 63 adPropRead

adPropRequired

A bitmask specifying the predicates in text commands that support subqueries. A combination of zero or more of the following:

1: Correlated subqueries

2: Comparison

4: Exists

8: In

16: Quantified

32: Table

Table Term adBStr Table adPropRead

adPropRequired

The name the data source uses for a table.
Transaction DDL adInteger 16 adPropRead

adPropRequired

Indicates whether data definition language (DDL) statements are supported in transactions. One of the following:

0: Transactions are not supported.

1: Transactions can only contain DML statements. DDL statements within a transaction cause an error to occur.

2: Transactions can only contain DML statements. DDL statements within a transaction cause the transaction to be committed.

4: Transactions can only contain DML statements. DDL statements within a transaction are ignored.

8: Transactions can contain DDL and DML statements in any order.

16: Transactions can contain both DML and table or index modifications, but modifying a table or index within a transaction causes the table or index to be locked until the transaction completes.

User Name adBStr "" adPropRead

adPropRequired

A character string with the name used in a particular database, which can be different than a login name.
Jet OLEDB:Connection Control adInteger 2 adPropRead

adPropWrite

adPropRequired

This property can be set at run time to lock out new users from the database. This is useful for administrators who want to take the database off-line for maintenance.

1: (JET_CONNCONTROL_PASSIVESHUTDOWN) Prevent new users from accessing the database.

2: (JET_CONNCONTROL_NORMAL) Allow new users to access the database.

Jet OLEDB:Exclusive Async Delay adInteger 0 adPropRead

adPropWrite

adPropRequired

The maximum time Jet can delay asynchronous writes to disk (in milliseconds) when the database is opened in multiuser mode. This property is ignored unless the Jet OLEDB:Flush Transaction Timeout property is 0.
Jet OLEDB:Flush Transaction Timeout adInteger 0 adPropRead

adPropWrite

adPropRequired

The amount of time of inactivity before the asynchronous write cache is flushed to disk. This setting precludes the values for Shared Async Delay and Exclusive Async Delay.
Jet OLEDB:Implicit Commit Sync adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether changes made in internal/implicit transactions are written in synchronous or asynchronous mode.
Jet OLEDB:Lock Delay adInteger 0 adPropRead

adPropWrite

adPropRequired

Indicates how long to wait, in milliseconds, before attempting to acquire a lock after the previous attempt has failed.
Jet OLEDB:Lock Retry adInteger 0 adPropRead

adPropWrite

adPropRequired

The number of times to repeat attempts to access a locked page.
Jet OLEDB:Max Buffer Size adInteger 0 adPropRead

adPropWrite

adPropRequired

The largest amount of memory, in kilobytes, that Jet can use before it starts flushing changes to disk.
Jet OLEDB:Max Locks Per File adInteger 0 adPropRead

adPropWrite

adPropRequired

The maximum number of locks that Jet can place on a database. The default for this property is 9500.
Jet OLEDB:ODBC Command Time Out adInteger 0 adPropRead

adPropWrite

adPropRequired

Number of seconds before remote ODBC queries from Jet time out.
Jet OLEDB:ODBC Parsing adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether Jet should attempt to parse ODBC SQL syntax or use only Jet's native syntax parser.
Jet OLEDB:Page Locks to Table Lock adInteger 0 adPropRead

adPropWrite

adPropRequired

The number of pages that need to be locked in a transaction before Jet tries to promote the locks to an exclusive table lock.  Zero implies that Jet will never promote the lock.
Jet OLEDB:Page Timeout adInteger 0 adPropRead

adPropWrite

adPropRequired

The amount of time, in milliseconds, that Jet will wait before checking to see if its cache is out of date with the database file.
Jet OLEDB:Recycle Long-Valued Pages adBoolean False adPropRead

adPropWrite

adPropRequired

Whether Jet should aggressively try to reclaim BLOB pages when they are freed.
Jet OLEDB:Reset ISAM Stats adBoolean True adPropRead

adPropWrite

adPropRequired

Determines if the ISAM stats schema rowset should reset its performance counters after returning performance information.
Jet OLEDB:Sandbox Mode adBoolean False adPropRead

adPropWrite

adPropRequired

N/A
Jet OLEDB:Shared Async Delay adInteger 0 adPropRead

adPropWrite

adPropRequired

The maximum time Jet can delay asynchronous writes to disk (in milliseconds) when the database is opened in multiuser mode. This property is ignored unless the Jet OLEDB:Flush Transaction Timeout property is 0.
Jet OLEDB:Transaction Commit Mode adInteger 0 adPropRead

adPropWrite

adPropRequired

Determines the mode that the Jet Engine uses when committing transactions to disk. The values for this property are a bitmask of zero or more of the following:

0: (JET_TCM_ASYNCFLUSH) Asynchronously write modified pages in the transaction to disk.

1: (JET_TCM_SYNCFLUSH) Synchronously flush modified pages in the transaction to disk.

Jet OLEDB:User Commit Sync adBoolean True adPropRead

adPropWrite

adPropRequired

Indicates whether changes made in user/explicit transactions are written in synchronous or asynchronous mode.

ADO Recordset Properties

ADO uses a number of the properties exposed in the Recordset object's Properties collection in order to open a Recordset. For instance, ADO will always set the Bookmarkable property to True if you request an updatable Recordset. As a result, ADO may overwrite existing values for these properties.

In general, most of these properties are specific to the behavior of the underlying OLE DB rowset and are not of significant interest or use to the ADO programmer. Of the properties listed next, the Microsoft Jet Provider–specific properties and the Append-Only Rowset property are of the most use to the ADO/Microsoft Jet programmer.

Property
name
Type Default Attributes Description
Access Order        
Append-Only Rowset adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset will initially exclude existing records. It prevents editing or deleting existing records in the table or query results.
Blocking Storage Objects adBoolean True adPropRead

adPropRequired

Indicates whether storage objects (adLongVarWChar or adLongBinary fields) may prevent the use of some methods.
Bookmark Type adInteger 1 adPropRead

adPropRequired

The bookmark type supported by the Recordset. One of the following:

1: The bookmark type is numeric. Numeric bookmarks are based upon a row property that is not dependent on the values of the row's columns. The validity of numeric bookmarks is not changed by modifying the rows columns.

2: The bookmark type is key. Key bookmarks are based on the values of one or more of the row's columns. A key bookmark may be left dangling if the key values of the corresponding row are changed.

Bookmarkable adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset supports bookmarks.
Bookmarks Ordered adBoolean False adPropRead

adPropRequired

Indicates whether bookmarks can be compared to determine the relative position of their records in a Recordset.
Cache Deferred Columns adBoolean False adPropRead

adPropRequired

Indicates whether the provider caches the value of a deferred column when the consumer first gets a value from that column.
Change Inserted Rows adBoolean True adPropRead

adPropRequired

Indicates whether new rows can be changed or modified.
Column Privileges adBoolean True adPropRead

adPropRequired

Indicates whether access rights are restricted on a column-by-column basis. If this property is True, the provider will not execute a query that would specify a column for which the user has no read access rights.
Column Set Notification adInteger 3 adPropRead

adPropRequired

A bitmask specifying whether the notification phase is cancelable. A combination of zero or more of the following:

1: Ok to do

2: About to do

4: Synch after

Column Writable adBoolean True adPropRead

adPropRequired

Indicates whether a particular column is writable. This information can also be obtained through the Field object's Attributes property.
Defer Column adBoolean True adPropRead

adPropRequired

N/A
Delay Storage Object Updates adBoolean True adPropRead

adPropRequired

In delayed update mode, storage objects are also used in delayed update mode. Changes to the object are not transmitted to the data source until Update is called.
Fetch Backwards adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset can fetch backward.
Hold Rows adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset allows the user to retrieve more records or change the position while holding previously retrieved records with pending changes.
Immobile Rows adBoolean False adPropRead

adPropRequired

If the Recordset is ordered (table-type with a defined index), inserted and updated rows (when one or more of the columns in the ordering criteria are updated) obey the ordering criteria. If the Recordset is not ordered, inserted rows are not guaranteed to appear in a determinate position and the position of updated rows is not changed.
IAccessor

IColumnsInfo

IColumnsRowset

IConnectionPointContainer

IConvertType

ILockBytes

IRowset

IRowsetChange

IRowsetCurrentIndex

IRowsetIdentity

IRowsetIndex

IRowsetInfo

IRowsetLocate

IRowsetResynch

IRowsetScroll

IRowsetUpdate

ISequentialStream

IStorage

IStream

ISupportErrorInfo

adBoolean N/A adPropRead

adPropRequired

N/A
Literal Bookmarks adBoolean False adPropRead

adPropRequired

Bookmarks cannot be compared as a sequence of bytes.
Literal Row Identity adBoolean False adPropRead

adPropRequired

N/A
Lock Mode adInteger 1 adPropRead

adPropWrite

adPropRequired

The level of locking performed by the Recordset. One of the following:

1: The provider is not required to lock rows at any time to ensure successful updates. Updates may fail when sent to the server for reasons of concurrency.

2: The provider uses the minimum level of locking necessary to ensure that changes successfully written to a single row returned by the most recent fetch will not fail due to a concurrency violation if Update is called before any additional rows are retrieved.

ADO sets this property (among others) based on the LockType of the Recordset.

Maximum Open Rows adInteger 1 adPropRead

adPropRequired

The maximum number of rows that can be active at the same time. This limit does not reflect resource limitations such as RAM.
Maximum Pending Rows adInteger 1 adPropRead

adPropRequired

The maximum number of rows that can have pending changes at the same time. This limit does not reflect resource limitations such as RAM.
Maximum Rows adInteger 0 adPropRead

adPropRequired

The maximum number of rows that can be returned in a Recordset. If there is no limit, this value is zero.
Memory Usage adInteger 0 adPropRead

adPropRequired

The estimated amount of memory that can be used by a Recordset. If it is 0, the Recordset can use unlimited memory. If it is between 1 and 99 inclusive, the Recordset can use the specified percentage of total available virtual memory (physical and page file). If it is greater than or equal to 100, the Recordset can use up to the specified number of kilobytes in memory.
Notification Granularity adInteger 2 adPropRead

adPropRequired

Indicates when the consumer is notified for methods that operate on multiple rows. One of the following:

1: The consumer is notified separately for each phase for each row. A cancellation affects a single row; it does not affect the other rows, and notifications are still sent for those rows.

2: The consumer is notified once for all rows that succeed and once for all rows that fail. This separation can occur at each phase where a change can fail.

Notification Phases adInteger 27 adPropRead

adPropRequired

A bitmask specifying the notification phases supported by the provider. These are used internally by ADO to support EventNotifications.
Objects Transacted adBoolean True adPropRead

adPropRequired

Indicates whether any object created on the specified column is transacted.
Others' Inserts Visible adBoolean False adPropRead

adPropRequired

Indicates whether the Recordset can see records inserted by others.
Others' Changes Visible adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset can see updates and deletes made by others.
Own Changes Visible adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset can see its own updates and deletes.
Own Inserts Visible adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset can see its own inserts.
Preserve on Abort adBoolean False adPropRead

adPropRequired

Indicates whether after aborting a transaction the Recordset remains active. That is, whether it is possible to fetch new rows, update, delete, and insert rows, and so on.
Preserve on Commit adBoolean True adPropRead

adPropRequired

Indicates whether after committed a transaction the Recordset remains active. That is, whether it is possible to fetch new rows, update, delete, and insert rows, and so on.
Quick Restart adBoolean True adPropRead

adPropRequired

N/A
Reentrant Events adBoolean False adPropRead

adPropRequired

Indicates whether the provider supports reentrancy on callbacks during notifications.
Remove Deleted Rows adBoolean True adPropRead

adPropRequired

Indicates whether the provider removes records it detects as having been deleted from the Recordset. That is, retrieving a block of records that formerly included a deleted record does not include the deleted record.
Report Multiple Changes adBoolean True adPropRead

adPropRequired

Indicates whether an update or delete can affect multiple records and the provider can detect that multiple records have been updated or deleted.
Return Pending Inserts adBoolean False adPropRead

adPropRequired

Indicates whether methods that fetch rows can return pending insert rows.
Row Delete Notification

Row First Change Notification

Row Insert Notification

Row Resynchronization Notification

Row Undo Change Notification

Row Undo Delete Notification

Row Undo Insert Notification

Row Update Notification

Rowset Fetch Position Change Notification

Rowset Release Notification

adInteger 3 adPropRead

adPropRequired

A bitmask specifying whether the notification phase is cancelable.
Row Privileges adBoolean False adPropRead

adPropRequired

Indicates whether access rights are restricted on a row-by-row basis. If the Recordset supports updates, some, but not all, of the rows may be updated.
Row Threading Model adInteger 1 adPropRead

adPropRequired

A bitmask specifying the threading models supported by the Recordset. A combination of one or more of the following:

1: Free Threaded

2: Apartment Threaded

4: Single Threaded

Scroll Backwards adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset can scroll backward.
Server Data on Insert adBoolean True adPropRead

adPropWrite

adPropRequired

Indicates whether at the time an insert or update is sent to the data source the provider retrieves data from the data source to update the local row cache.
Skip Deleted Bookmarks adBoolean False adPropRead

adPropRequired

N/A
Strong Row Identity adBoolean False adPropRead

adPropRequired

N/A
Updatability adInteger 0 adPropRead

adPropWrite

adPropRequired

A bitmask specifying the supported methods for modifying the Recordset.

1: Modifying an existing record is supported.

2: Deleting records is supported.

4: Inserting records is supported.

Use Bookmarks adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Recordset supports bookmarks.
Jet OLEDB:Bulk Transactions adInteger 0 adPropRead

adPropWrite

adPropRequired

Determines if SQL bulk operations are transacted. This property determines if the current command execution is transacted.

0: (JET_BULKTRAN_DEFAULT) Default

1: (JET_BULKTRAN_NOBULK) Use partial updates like Access

2: (JET_BULKTRAN_BULK) Use no partial behavior. All or nothing.

Jet OLEDB:Enable Fat Cursors adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether Microsoft Jet should cache multiple rows when populating the cursor for remote row sources.
Jet OLEDB:Fat Cursor Cache Size adInteger 0 adPropRead

adPropWrite

adPropRequired

Number of rows that should be cached when using remote data source row caching. Only used if Jet OLEDB:Enable Fat Cursors is True.
Jet OLEDB:Grbit Value adInteger 0 adPropRead

adPropWrite

adPropRequired

N/A
Jet OLEDB:Inconsistent adBoolean False adPropRead

adPropWrite

adPropRequired

Allows inconsistent updates on query results. Equivalent to DAO's dbInconsistent flag.
Jet OLEDB:Locking Granularity adInteger 2 adPropRead

adPropWrite

adPropRequired

Determines if a table is opened using row-level locking. This property is ignored unless Jet OLEDB:Database Locking Mode is set to 1 (JET_LOCKMODE_ROW).
Jet OLEDB:ODBC Pass-Through Statement adBoolean False adPropRead

adPropWrite

adPropRequired

Tells Microsoft Jet that SQL text in a Command object should be passed to the back end unaltered.
Jet OLEDB:Partial Bulk Ops adInteger 0 adPropRead

adPropWrite

adPropRequired

Th behavior of Microsoft Jet when SQL DML bulk operations fail.

0: (JET_BULKPARTIAL_DEFAULT) Default

1: (JET_BULKPARTIAL_PARTIAL) Allow partial completion of the bulk operation. Could result in inconsistent changes since operations on some rows could succeed and others could fail.

2: (JET_BULKPARTIAL_NOPARTIAL) Fail the bulk operation on a single error.

Jet OLEDB:Pass Through Query Bulk-Op adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Pass-Through Query is a bulk operation (non-row returning).
Jet OLEDB:Pass Through Query Connect String adBStr "" adPropRead

adPropWrite

adPropRequired

Indicates the Microsoft Jet Connect String to be used to connect to the remote data source. This property is ignored unless the Jet OLEDB:ODBC Pass-Through Statement is True.
Jet OLEDB:Stored Query adBoolean False adPropRead

adPropWrite

adPropRequired

Whether the CommandText of the Command object should be interpreted as a stored query instead of an SQL command.
Jet OLEDB:Use Grbit adInteger 0 adPropRead

adPropWrite

adPropRequired

N/A
Jet OLEDB:Validate Rules On Set adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether Microsoft Jet Validation Rules are evaluated when columns are set or when changes are being committed to the database.

ADOX Table Properties

Property name Type Default Attributes Description
Temporary Table adBoolean False adPropRead

adPropRequired

Indicates whether the table is destroyed when the connection is released.
Jet OLEDB:Cache Link Name/Password adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the User Id and password used to open the external database are saved with the connection information.

This property is ignored if Jet OLEDB:Create Link is False.

Jet OLEDB:Create Link adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the table is a linked table (formerly known as an attached table).

A linked table is a table in another database linked to a Microsoft Jet database. Data for linked tables remains in the external database where it can be manipulated by other applications.

Jet OLEDB:Exclusive Link adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the external database is opened exclusively when the linked table is created or used. The value is True if the external database will be opened exclusively and False if the external database will be opened for multiuser access.

This property is ignored if Jet OLEDB:Create Link is False.

Jet OLEDB:Link Datasource adBStr "" adPropRead

adPropWrite

adPropRequired

The external database to link to. The default value is an empty string ("").

This property is ignored if Jet OLEDB:Create Link is False.

Jet OLEDB:Link Provider String adBStr "" adPropRead

adPropWrite

adPropRequired

Additional connection options used when connecting to the external database. It is similar to the Extended Properties property in the Connection's Properties collection. See the section on "External Databases" for more information on options that can be specified.
Jet OLEDB:Remote Table Name adBStr "" adPropRead

adPropWrite

adPropRequired

The name of the table to link to. This may be different than the local name of the table/link as specified in the Table object's Name property. The default value is an empty string ("").

This property is ignored if Jet OLEDB:Create Link is False.

Jet OLEDB:Table Hidden In Access adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the Table will be hidden in the Microsoft Access user interface.
Jet OLEDB:Table Validation Rule adBStr "" adPropRead

adPropWrite

adPropRequired

An expression used to validate data when a record is changed or added to the table. This property is read-only if Jet OLEDB:Create Link is True.
Jet OLEDB:Table Validation Text adBStr "" adPropRead

adPropWrite

adPropRequired

The message to be displayed to the user when the validation rule is violated. This property is read-only if Jet OLEDB:Create Link is True.

ADOX Column Properties

Property name Type Default Attributes Description
AutoIncrement adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the values of the column are automatically incremented as a new record is added.
Default adEmpty1 Empty adPropRead

adPropWrite

adPropRequired

The default value for the column. It can be either text or an expression.
Description adBStr "" adPropRead

adPropWrite

adPropRequired

A description of the column.
Fixed Length adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the column is fixed length or variable length.
Increment adInteger 1 adPropRead

adPropWrite

adPropRequired

The value by which an autoincrement column is incremented.
Nullable adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the column can contain a null value.
Seed adInteger 1 adPropRead

adPropWrite

adPropRequired

The value that will be used in an autoincrement column for the next added record.
Jet OLEDB:Allow Zero Length adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether a zero-length string ("") can be inserted into this field. Ignored for data types that are not strings.
Jet OLEDB:AutoGenerate adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether a GUID should be automatically generated for the column. This property is ignored unless the column type is adGUID.
Jet OLEDB:Column Validation Rule adBStr "" adPropRead

adPropWrite

adPropRequired

Expression used to validate the data in a field when it's changed or added to a table. The expression must be in the form of an SQL WHERE clause without the WHERE reserved word.
Jet OLEDB:Column Validation Text adBStr "" adPropRead

adPropWrite

adPropRequired

The text that will be displayed if a user tries to enter a value that does not satisfy the validation rule.
Jet OLEDB:Compressed UNICODE Strings adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether Microsoft Jet will compress UNICODE strings on the disk. Ignored if the database is not a Microsoft Jet version 4.0 database.
Jet OLEDB:Hyperlink adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the data in the column is a hyperlink. This property is ignored unless the column's data type is adLongVarWChar.
Jet OLEDB:IISAM Not Last Column adBoolean False adPropRead

adPropWrite

adPropRequired

For Installable-ISAMs, this property informs the I-ISAM that there are more columns that are going to be added to the table after this one. If you are using ITableDefinition::AddColumn or ITableDefintion::CreateTable, it is required that you set this property for every column except the last column.
Jet OLEDB:One BLOB per Page adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether the data in the column is stored on a single page (True) or can share database pages (False) to conserve space. Ignored unless the column's data type is adLongVarBinary.

1 Treat the property "Default" as though the type were really adVariant.

ADOX Index Properties

Property name Type Default Attributes Description
Auto-Update adBoolean True adPropRead

adPropRequired

Indicates whether the index is maintained automatically when changes are made to the corresponding base table.
Clustered adBoolean False adPropRead

adPropRequired

Indicates whether the index is clustered.
Fill Factor adInteger 100 adPropRead

adPropRequired

The storage utilization factor of page nodes during the creation of the index. The value ranges from 1 to 100 representing the percentage of use of an index node.
Initial Size adInteger 4196 adPropRead

adPropRequired

The total number of bytes allocated to this structure at creation time.
Null Collation adInteger 4 adPropRead

adPropRequired

Indicates that null values in the index are collated at the low end of the list.
Null Keys adInteger 0 adPropRead

adPropWrite

adPropRequired

This property corresponds to the IgnoreNulls property of the Index object. See the ADOX documentation for a description of this property.
Primary Key adBoolean 0 adPropRead

adPropWrite

adPropRequired

Indicates whether the index represents the primary key on the table.
Sort Bookmarks adBoolean False adPropRead

adPropRequired

Indicates whether the index sorts repeated keys by bookmark.
Index Type adInteger 1 adPropRead

adPropRequired

The type of the index. One of the following:

1: The index is a B+-tree.

2: The index is a hash file using linear or extensible hashing.

3: The index is a content index.

4: The index is some other type of index.

Unique adBoolean False adPropRead

adPropWrite

adPropRequired

Indicates whether index keys must be unique.
Temporary Index adBoolean False adPropRead

adPropRequired

Indicates whether the index is a temporary index. That is, the index is destroyed when the session is released.