Module: JetEngine in Category Access/Jet Databases : Database from Total Visual SourceBook

Manage Access database characteristics such as passwords, encryption, compact, workspaces and tuning through DAO in VBA and VB6.

The Microsoft Jet Database engine is exposed through the Data Access Objects (DAO) interface as the DBEngine object.

Procedure Name Type Description
(Declarations) Declarations Declarations and private variables for the modJetEngine module.
ISAMCacheReads Procedure Get the number of Jet Engine cache reads since the last reset. Use the ResetISAMCacheReads method to reset this value to 0. This value returns the number of times the Jet Engine has read data from its internal cache. This number does not include the number of reads from the read-ahead cache (see the ISAMRACacheReads property for information on the read-ahead cache). Use the ResetISAMCacheReads method to reset this value to 0.
ISAMDiskReads Procedure Get the number of Jet Engine disk reads since the last reset. Use the ResetISAMCacheReads method to reset this value to 0. This value returns the number of times the Jet Engine has read data from its internal cache. This number does not include the number of reads from the read-ahead cache (see the ISAMRACacheReads property for information on the read-ahead cache).
ISAMDiskWrites Procedure Get the number of Jet Engine disk writes since the last reset. Use the ResetISAMDiskWrites method to reset this value to 0. This value returns the number of times the Jet Engine has written data to a local or network disk. This figure includes all writes, including background read-ahead cache reads that happen in separate threads. One write doesn't necessarily equal one page, as is often the case when using transactions.
ISAMLocksPlaced Procedure Get the number of Jet Engine locks placed since the last reset. Use the ResetISAMLocksPlaced method to reset this value to 0.
ISAMLocksReleased Procedure Get the number of Jet Engine locks released since the last reset. Use the ResetISAMLocksReleased method to reset this value to 0.
Note: The number of locks placed and locks released may not match. This is because a single call to release a lock may result in the release of more than one lock.
ISAMRACacheReads Procedure Get the number of Jet Engine read-ahead cache reads since the last reset. Use the ResetISAMRACacheReads method to reset this value to 0. This value returns the number of times the read-ahead cache has been read. In some cases, the Jet Engine reads more pages of data than are requested--this additional data is stored in the read-ahead cache so that it is readily available when needed.
TuneExclusiveAsyncDelay Procedure Set the Jet Engine's ExclusiveAsyncDelay tuning value, which controls the length of time to defer an asynchronous flush of an exclusive database. The default when Jet is started is 2000 milliseconds.
TuneFlushTransactionTimeout Procedure Set the Jet Engine's FlushTransactionTimeout tuning value. This entry disables both the ExclusiveAsyncDelay and SharedAsyncDelay settings. To enable those settings, a value of zero must be entered. FlushTransactionTimeout changes the Jet's method for doing asynchronous writes to a database file.
TuneImplicitCommitSync Procedure Set the Jet Engine's ImplicitCommitSync tuning value which controls whether the system waits for a commit to finish. A value of False instructs the system to proceed without waiting for the commit to finish; a value of True instructs the system to wait for the commit to finish. The default when Jet is started is False.
TuneLockDelay Procedure Set the Jet Engine's LockDelay tuning value. This setting works in conjunction with the LockRetry setting in that it causes each LockRetry to wait 100 milliseconds before issuing another lock request.
TuneLockRetry Procedure Set the Jet Engine's LockRetry tuning value which controls the number of times to repeat attempts to access a locked page before returning a lock conflict message. The default when Jet is started is 20.
TuneMaxLocksPerFile Procedure Set the Jet Engine's MaxLocksPerFile tuning value which prevents transactions in Jet from exceeding the specified value. If the locks in a transaction attempts to exceed this value, then the transaction is separated into two or more parts and partially committed.
TunePageTimeout Procedure Set the Jet Engine's PageTimeout tuning value which controls the length of time between the time when data that is not read-locked is placed in an internal cache and when it's invalidated, expressed in milliseconds. The default when Jet is started is 5000 milliseconds.
TuneRecycleLVs Procedure Set the Jet Engine's RecycleLongValues tuning value. This setting, when enabled, causes Jet to recycle long value (LV) pages (Memo, Long Binary [OLE object], and Binary data types). Jet 3.0 would not recycle those types of pages until the last user closed the database. If the RecyleLVs setting is enabled, Jet 3.5 will start to recycle most LV pages when the database is expanded (that is, when groups of pages are added).
' Example of modJetEngine
'
' To use this example, create a new module and paste this code into it.
' Then run the procedure by putting the cursor in the procedure and pressing:
'    F5 to run it, or
'    F8 to step through it line-by-line (see the Debug menu for more options)

Private Sub Example_modJetEngine()
  ' Comments: Examples of using the modJetEngine module to manage Access database characteristics such as passwords, encryption, compact, workspaces and tuning through DAO in VBA and VB6.

  ' Show the engine statistics so far
  Debug.Print "ISAM Cache Reads: " & ISAMCacheReads()
  Debug.Print "ISAM Disk Reads: " & ISAMDiskReads()
  Debug.Print "ISAM Disk Writes: " & ISAMDiskWrites()
  Debug.Print "ISAM Locks Placed: " & ISAMLocksPlaced()
  Debug.Print "ISAM Locks Released: " & ISAMLocksReleased()
  Debug.Print "ISAM Read-Ahead Cache Reads: " & ISAMRACacheReads()

  ' The following lines show how to set tuning parameters. Uncomment the lines to try them.
  'TuneExclusiveAsyncDelay 100
  'TuneFlushTransactionTimeout 300
  'TuneImplicitCommitSync True
  'TuneLockDelay 100
  'TuneLockRetry 10
  'TuneMaxLocksPerFile 10000
  'TunePageTimeout 7000
  'TuneRecycleLVs 1

End Sub

Total Visual SourceBook The source code in Total Visual Sourcebook includes modules and classes for Microsoft Access, Visual Basic 6 (VB6), and Visual Basic for Applications (VBA) developers. Easily add this professionally written, tested, and documented royalty-free code into your applications to simplify your application development efforts.

Total Visual SourceBook is written for the needs of a developer using a source code library covering the many challenges you face. Countless developers over the years have told us they learned some or much of their development skills and tricks from our code. You can too!

Additional Resources

Total Visual SourceBook CD and Printed Manual

Microsoft Access/ Office 2016, 2013, 2010, and 2007 Version
is Shipping!

New features in Total Visual SourceBook for Access, Office and VB6

Supports Access/Office 2016, 2013, 2010 and 2007, and Visual Basic 6.0!


View all FMS products for Microsoft Access All Our Microsoft Access Products

Reviews

Reader Choice Award for MS Access Source Code Library
Reader Choice

"The code is exactly how I would like to write code and the algorithms used are very efficient and well-documented."

Van T. Dinh, Microsoft MVP

SourceBook Info

Additional Info

Question

 

 

Free Product Catalog from FMS