Исходный код
Option Explicit
Call ExeQuery()
'=====================================================================
' Выполнить разными способами запросы и сообщить количество отобранных объектов
'=====================================================================
Sub ExeQuery()
'Найти первый объект, содержащий коллекцию выборок
For Each obj In ThisApplication.Root.ContentAll
If obj.Queries.Count > 0 Then
Set query = obj.Queries(0)
' Передать в метод ExecuteQuery объект query в качестве аргумента
Set objects = ThisApplication.ExecuteQuery(query)
'Сообщить о результате выполнения запроса
MsgBox "Выборка """ & query.description & """, сохраненная на объекте" & Chr(13) &_
"""" & obj.Description & """ возвращает коллекцию из " & objects.Count _
& " объектов.", vbInformation, "Информация о результатах запроса"
'Выйти из цикла
Exit For
End If
Next
'Если в приложении есть глобальные выборки, выполнить первую из них
If ThisApplication.Queries.Count > 0 Then
Set query = ThisApplication.Queries(0)
QrySysName = query.SysName
' Передать в метод ExecuteQuery системное имя выборки в качестве аргумента
Set objects = ThisApplication.ExecuteQuery(QrySysName)
'Сообщить о результате выполнения запроса
MsgBox "Глобальная выборка """ & query.description & """ возвращает коллекцию из " _
& objects.Count & " объектов.", vbInformation, "Информация о результатах запроса"
End If
'Если на Рабочем столе есть выборки, выполнить первую из них
If ThisApplication.Desktop.Queries.Count > 0 Then
Set query = ThisApplication.Desktop.Queries(0)
QryName = query.Description
' Передать в метод ExecuteQuery описание выборки в качестве аргумента
Set objects = ThisApplication.ExecuteQuery(QryName)
'Сообщить о результате выполнения запроса
MsgBox "Выборка """ & query.description & """ возвращает коллекцию из " _
& objects.Count & " объектов.", vbInformation, "Информация о результатах запроса"
End If
End Sub
'=====================================================================