As it is unusual to have a report open and close hundreds or thousands of
times in a day, I would guess any differences of less than a second or two
are meaningless. Therefore I would use the sweep second hand of my wrist
watch and open the reports and record the times using a pen and paper. Not
to high tech, not accurate to less than a second or two, but for opening a
report I think it ought to adequate.
If you had to time a process that would operate in a loop that might have
to go thousands of iterations, then you might want to have a look at the
system clock at the start and end of the block of code.
Declare the function as ...
Public Declare Function GetTime Lib "winmm.dll" Alias "timeGetTime" () As
Long
outside of any function or sub in a code module
Then use it in your code like
Debug.Print "Start " ; GetTime
' Your long running code here
' ...
Debug.Print "End "; GetTime
Subtract the Start time from the End time an you have the number of
Milliseconds your code took to execute. This clock is not accurate to one
millisecond but is accurate to something like 30 to 40 milliseconds
depending on a whole host of external factors. So unless you need to time
interactions of sub atomic particles, it is probably close enough.