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??? > > >