Help with DBengine.idle

Posted on 2009-04-18
Last Modified: 2012-05-06
I have an Access 2003 database that runs over a rather slow network.  I use the DBEngine.idle function before a refresh and other processes.  But, I would like to know if it actually makes a difference to reliability / performance.

I could just do with a bit of feed back on this one.

Question by:Andy Brown
    LVL 65

    Accepted Solution

    Hi Andrew, is this a multi user environment? If not then it will not really make much difference.

    If multiuser then there is a chance of performance improvement due to memory optimization and updates.

    With regards to reliability, I am not aware of the drawbacks. But dont take my word for it. This sounds like a question that LPurvis will love to answer :)

    Did u read the help on this?

    Suspends data processing, enabling the Microsoft Jet database engine to complete any pending tasks, such as memory optimization or page timeouts (Microsoft Jet workspaces only).

    The Idle method allows the Microsoft Jet database engine to perform background tasks that may not be up-to-date because of intense data processing. This is often true in multiuser, multitasking environments that don't have enough background processing time to keep all records in a Recordset current.

    Usually, read locks are removed and data in local dynaset-type Recordset objects are updated only when no other actions (including mouse movements) occur. If you periodically use the Idle method, Microsoft Jet can catch up on background processing tasks by releasing unneeded read locks.

    Specifying the optional dbRefreshCache argument refreshes memory with only the most current data from the .mdb file. The dbForceOSFlush argument forces pending writes to .mdb files as part of the CommitTrans method.

    You don't need to use this method in single-user environments unless multiple instances of an application are running. The Idle method may increase performance in a multiuser environment because it forces the database engine to write data to disk, releasing locks on memory.

    Note You can also release read locks by making operations part of a transaction.

    Im off out now, be back later on in the day.

    Author Comment

    by:Andy Brown
    Thanks Rockiroads - that's some really good info (as always).
    LVL 75

    Expert Comment

    by:DatabaseMX (Joe Anderson - Access MVP)
    Unfortunately, the Help file only gives one example ... thus not really explaining how and where  to use this method.  

    There are soooooo many things that can affect speed in a network environment, starting with the speed of the network itself and of course the actual design of the application.


    Author Closing Comment

    by:Andy Brown
    Thanks for your help on this one - sorry for the dealy in getting back to you.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    This article is a continuation or rather an extension from Cascading Combos ( and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
    In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
    As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
    Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now