in message:
Hi Matt,
In addition to the information already provided, here is a past post
of mine with a few options for you:
Go to MVP Sandra Daigle's site for some working examples:
http://www.daiglenet.com/msaccess.htm
(Download Progress Meter 2.0)
For a detailed visual walk-through, see this link:
http://www.datapigtechnologies.com/flashfiles/progressbar.html
MVP Arvin Meyer also has a sample here:
http://www.datastrat.com/Download/ProgressBar2K.zip
And here is a past post on this subject by Sandra herself:
I suggest avoiding the ActiveX control because of the issues that
arise when dealing with ActiveX's. Instead you might want to consider
using the
built-in Progress meter or build your own.
Following is a simple example of how to use the system progress meter
- look down in the lower left corner to see it working. Create a form
with a single button, then paste this code into the Click event
procedure for the button. Basically you initialize the progress meter
with a number that represents
how many intervals there are, then you make successive calls to
update the progress meter with an incremental value. Finally you
remove the meter. My example shows it as used in a looping procedure
but you can also adapt this to a lengthy linear list of tasks.
You can create a more noticable progress meter by using a rectangle
control which you color based on the degree of completion of the
task. My example of this is on
www.daiglenet.com/msaccess.htm.
There is also a chapter in the Access Cookbook by Ken Getz, Paul
Litwin, and Andy Baron which describes how to make a reusable
progress meter. You can read this excerpt online at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnac...
FWIW, I also like using the progress meter control from the FMS
product
Total Access Components 2000. It has a richer set of features and can
be displayed anywhere on the form. (
www.fmsinc.com).
Private Sub Command12_Click()
Dim inti As Integer
'
' Initialize the progress meter
Application.SysCmd acSysCmdInitMeter, "Doing Stuff", 10000
For inti = 1 To 5000
Me.txtCounter = inti
'
' Increment the progress meter on each iteration
Application.SysCmd acSysCmdUpdateMeter, inti
' Occasionaly yield CPU to the OS so other stuff can happen
' the 77 is an arbitrary number - you can tune this however you
' want. You can leave this whole if...then out if you just want
the loop ' to have all CPU till
' it is done
If inti Mod 77 = 0 Then
DoEvents
End If
Next inti
'
' Remove the meter
Application.SysCmd acSysCmdRemoveMeter
End Sub