If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

The problem is, that access seems to be dedicating all its available threads to performing the import operation, and fails to update the boxes until a msgbox appears, in which case the threads (or a thread) are freed, and the boxes will activate.

I also thought it might be too much stress on Access to turn the visibility of objects on and off, so I created a label, and set each loop of the main while loop to indicate which recordset.absolutePosition it was on, and that would also skip about 30-40 records at a time.

The only thing I can get to update on each loop is a MsgBox...

Code:

MsgBox "Current Record is: " & rs.absolutePosition

Will present a popup for every single record.

I've just remembered about the Form.repaint function, which will achieve what I'm after...

However, I can imagine that at some point in the not so distant future, I would have cause for manually adjusting thread priority... I know that Java and C++ have capabilities for these functions, but does VB/VBA at all?

I can imagine if I wanted to run simultaneous queries then this would come in very handy.

If you feel adventurous and have a way to restore your system (backup, install CD, Ghost image, etc. ) you could try playing with some registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engi nes\Jet 3.5\Threads
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engi nes\Jet 3.x\Threads
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engi nes\Jet 4.0\Threads

Theorically increasing the values should allow the simultaneous execution of more queries. I once tried and while slightly increasing the default values (3 on my system) to 4 or 5 did not seem to change anything as far as the performances of Access were concerned, higher values crashed Access and, in one occasion, hung the system (BSOD).

On the other hand, there's a site (in French) that explain how to use APIs to create several theads in a VBA program (sample code provided). I never tried, though:Access - Les Sources

What I've found moving from Java to VBA is that the more low level abilities of the language seem to be very poorly documented, if at all.

I realise that Java has probably the largest set of online documentation in terms of its reference libraries, etc. But it's always a nice revelation when you find that a language has more to offer than meets the eye.

consider using doevents in a loop
the access ui often lags behind things going on in background. sometimes the UI doesn't update presumably becuase the scheduler decides its got more important thing to do