Private Declare Function a2ku apigettime
Private Declare Function a2ku apigettime Lib "winmm.dll" _
Alias "timeGetTime" () As Long
Dim Ingstartingtime As Long
Затем можно создать подпрограмму для запуска часов и функцию остановки часов.
Sub a2kuStartClock()
Ingstartingtime = a2ku_apigettime()
End Sub
Function a2kuEndClock()
a2kuEndClock = a2ku_apigettime() - Ingstartingtime
End Function
Использование данных функций для оценки производительности запроса иллюстрирует код, приведенный в листинге 1.
Листинг 1.
Определение времени выполнения запроса.
Sub QueryTimer(strQueryName As String)
Dim db As Database
Dim qry As QueryDef
Dim rs as Recordset
Set db = CurrentDb()
Set qry =
db.QueryDefs(strQueryName)
'Запуск часов. a2kuStartClock
Set rs = qry.OpenRecordset()
'Остановка часов и вывод результата в окне отладки.
Debug.Print strQueryName & " executed in: " & a2kuEndClock & _
" milliseconds"
rs.Close
End Sub
ПРИМЕЧАНИЕ
Для достижения наибольшей точности измерения необходимо разместить вызов процедур
a2kuStartClock и a2kuEndClock как можно ближе к местонахождению рассматриваемой процедуры.
Содержание раздела