[AccessD] List Boxes

Tony Septav iggy at nanaimo.ark.com
Mon Dec 20 09:17:56 CST 2010


Hey Dan
Thanks, tried it out and I am still getting jumps (no rhyme or reason) 
going up and down the list and also selecting  the same record several 
times. I get a range from 1219 to 2141 when running the queries and this 
can vary if I close and open the form again. Oh well, I guess I will 
just have to live with it.
Thanks again.


Dan Waters wrote:

>Hi Tony,
>
>I did this timing thing a couple of times.  The problem is that access
>timing is only accurate to about a second, as your data shows.  There is a
>function named GetTickCount which will give you time (I think) in
>milliseconds.
>
>
>Put the following code into the same module where you are calling the
>queries:
>
>-----------------------
>Public Declare Function GetTickCount Lib "kernel32" () As Long
>
>Private MblnStartupTimes As Boolean
>Private MvarStartupTimes() As Variant
>Private MintProcedureCount As Integer
>Private MlngStart As Long
>
>-----------------------
>Private Sub CollectStartupTimeInfo(stgProcedureName As String)
>
>    Dim lngDuration As Long
>    
>    If MblnStartupTimes = False Then Exit Sub
>    
>    lngDuration = GetTickCount - MlngStart
>    
>    ReDim Preserve MvarStartupTimes(2, MintProcedureCount)
>        
>    MvarStartupTimes(0, MintProcedureCount) = Now()             '--
>Procedure Time
>    MvarStartupTimes(1, MintProcedureCount) = stgProcedureName  '--
>Procedure Name
>    MvarStartupTimes(2, MintProcedureCount) = lngDuration       '--
>Milliseconds
>    
>    MintProcedureCount = MintProcedureCount + 1
>    
>    Exit Sub
>    ErrEx.Bookmark = BOOKMARK_ONERROR
>
>End Sub
>-----------------------
>
>Now in your procedure which calls the queries, add this code:
>
>-----------------------
>Private Sub YourProcedure1()
>
>    MlngStart = GetTickCount
>
>    '-- Run Query 1
>
>    Call CollectStartupTimeInfo("YourProcedure1")
>
>End Sub
>-----------------------
>
>Now, when you're done, put the array values into a table.  (Obviously you
>need to rewrite this.
>----------------------
>    DoCmd.SetWarnings False
>    For intCount = 0 To UBound(MvarStartupTimes, 2)
>        stg = "INSERT INTO tblAdminStartupTimes ( ProcedureTime, Person,
>ComputerName, ProcedureName, MilliSeconds ) IN '" & stgBEFullPath & "'" _
>            & " VALUES (#" & MvarStartupTimes(0, intCount) & "#, '" &
>stgCurrentPerson & "', '" & stgComputerName & "', '" & MvarStartupTimes(1,
>intCount) & "', " & MvarStartupTimes(2, intCount) & ")"
>        DoCmd.RunSQL stg
>    Next
>    DoCmd.SetWarnings True
>----------------------
>
>You can also rearrange to run all this in one procedure.
>
>Good Luck,
>Dan
>
>
>
>-----Original Message-----
>From: accessd-bounces at databaseadvisors.com
>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Tony Septav
>Sent: Sunday, December 19, 2010 10:05 AM
>To: Access Developers discussion and problem solving
>Subject: [AccessD] List Boxes
>
>Hey All
>Not a biggy, just would like to know out of curiosity.
>I put a timer on my continuous forms to see how long it takes for the 9 
>queries to fire. Was trying to figure out what query was taking longer 
>then the others, so maybe I could approach it a different way and 
>increase the speed (many of the queries involve a set of sub queries). 
>What I found was interesting.  When clicking on a specific record I 
>could get several different times to run all 9 queries and the times 
>were random  when running a the queries
>Times to complete in seconds
>0.9999999997205
>1.000000008
>1.9999999998001
>2.0000000016
>I didn't matter what record I chose in the list I could get anyone of 
>the various times recorded above to run all 9 queries.  Does anyone know 
>what would cause this???
>
>  
>




More information about the AccessD mailing list