Dan Waters
dwaters at usinternet.com
Thu Jun 19 12:58:58 CDT 2008
Rocky,
Access has a built in progress bar that I use frequently. The bar shows up
as a green line in the left side of the status bar, which is at the bottom
of the screen. It's simple and reliable and your customers have seen it or
something like it before so no explanation will be needed.
Step 1:
Dim stgTitle as string
Dim varReturn as variant
Dim intCount as integer
stgTitle = "Progress Bar Title"
'-- Somehow get the count of total iterations
intCount = rst.recordcount (for example)
Step 2:
'-- Initiate the progress bar - no green bars will be displayed yet
varReturn = SysCmd(acSysCmdInitMeter, stgTitle, intCount)
Step 3:
intCount = 0
Do While X < Y
'-- Calculations here
intCount = intCount + 1
'-- Add proportional length to the progress bar
varReturn = SysCmd(acSysUpdateMeter, intCount)
Loop
Step 4:
'-- Remove the Progress Bar
varReturn = SysCmd(acSysCmdClearStatus)
Hope this works!
Dan
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at
Beach Access Software
Sent: Thursday, June 19, 2008 11:24 AM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Timer Event
Dear List:
The client would like a progress box to display during a lengthy calculation
- can take up to a minute and I told him that some kind of indication should
appear on the form so the user knows something is happening.
I implemented one solution which is OK. I have a sub which adds a period to
a text box on the calling form. And so I can lace calls to that routine
throughout the calculations. Problem is that it doesn't produce these
periods in equal time intervals.
So what he really wants now is a progress indicator that would change every
1/4 second or so, and when it got to its maximum length would start over
again. Not a difficult thing to do.
I thought I could use the timer event on the form that calls the
calculation, but the calculation is in a Public module and so, while it is
running, the timer event doesn't trigger.
Is there a way around this or another approach?
MTIA
Rocky Smolin
Beach Access Software
858-259-4334
www.e-z-mrp.com <http://www.e-z-mrp.com/>
www.bchacc.com <http://www.bchacc.com/>
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com