Amine400
asked on
Microsoft access time counters
I am using a button in a form to extract 7 reports to 7 pdf files.
I wanna add some counters to my form :
-start time (button click)
-Elapsed time ( a chronometer format 00:00:00:00 hh:mm:ss:00) should refrech every millisecond )
-end time( all pdf files created with success )
if possible , i don't want a sample for download, i want a detailed code by steps.
I wanna add some counters to my form :
-start time (button click)
-Elapsed time ( a chronometer format 00:00:00:00 hh:mm:ss:00) should refrech every millisecond )
-end time( all pdf files created with success )
if possible , i don't want a sample for download, i want a detailed code by steps.
I would not use a timer to refresh the form. I would simply update the form after each export. Create the necessary form with fields named as below.
Dim FileNum as Int
FileNum = 0
Me.txtStartTime = Now()
Me.txtFileName = "whatever the first filename is"
Me.txtFileNum = FileNum + 1
Me.Refresh
"your export code"
Me.txtElapsedTime = DateDiff("ss", Me.txtStartTime, Now())
Me.txtFileName = "whatever second file name id"
Me.txtFileNum = FileNum + 1
Me.Refresh
"your export code"
....
Me.txtEndTime = Now()
Dim FileNum as Int
FileNum = 0
Me.txtStartTime = Now()
Me.txtFileName = "whatever the first filename is"
Me.txtFileNum = FileNum + 1
Me.Refresh
"your export code"
Me.txtElapsedTime = DateDiff("ss", Me.txtStartTime, Now())
Me.txtFileName = "whatever second file name id"
Me.txtFileNum = FileNum + 1
Me.Refresh
"your export code"
....
Me.txtEndTime = Now()
ASKER
The elapsed time should increment every second
Use the on timer event..with interval 1000 --> 1000ms --> 1s
or use the stopwatch class
You create a class module and you paste the following code
The code is used like this
or use the stopwatch class
You create a class module and you paste the following code
Private mlngStart As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Public Sub StartTimer()
mlngStart = GetTickCount
End Sub
Public Function EndTimer() As Long
EndTimer = (GetTickCount - mlngStart)
End Function
The code is used like this
Dim sw as StopWatch
Set sw = New StopWatch
sw.StartTimer
1. Dim a public variable in the form's module: Public dtStartTime As Date
2. Drop an unbound text field on the form, named txtTimeDisplay
3. In your button that generates the PDFs, put
4. In the Form_Timer event, put
This will give you an updating display of the number of seconds passing between the two variable population lines.
I can provide code that converts the number of seconds to HH:MM:SS, and/or populates another display field with the elapsed time. :)
2. Drop an unbound text field on the form, named txtTimeDisplay
3. In your button that generates the PDFs, put
dtStartTime = Now()
before the output commands 4. In the Form_Timer event, put
If dtStartTime > #12:00:00 AM# Then
Me.txtTimeDisplay = DateDiff("s", dtStartTime, Now())
Me.Refresh
End If
5. In your button that generates the PDFs, put
dtStartTime = #12:00:00 AM#
This will give you an updating display of the number of seconds passing between the two variable population lines.
I can provide code that converts the number of seconds to HH:MM:SS, and/or populates another display field with the elapsed time. :)
ASKER
And what is the code ?
Get the elapsing seconds display working, and I'll work on the conversion code (which is a separate function).
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks
why not post in gig https://www.experts-exchange.com/gigs/