Access. Программирование на VBA

       

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 как можно ближе к местонахождению рассматриваемой процедуры.


Содержание раздела