Исходный текст
Option Explicit
Call QueriesInfo()
'==============================================================================
' Проверить наличие выборок в системе, узнать системные имена тестовых выборок,
' создать в конце списка выборку и вывести её индекс, второй способ создания
'==============================================================================
Sub QueriesInfo()
Dim Queries, testdesc, i, query
Dim TestQuery as new TDMSQuery
Set Queries = ThisApplication.Queries ' Получить коллекцию выборок
'Если нет информации о выборках, выйти из процедуры
If Queries.Count = 0 Then
MsgBox "Запросы в системе отсутствуют.", _
vbInformation, "Информация о текущей настройке"
Exit Sub
End If
With Queries
testdesc = "Тестовая выборка"
If .Has(testdesk) Then ThisApplication.AddNotify "В коллекции присутвуют тестовые выборки"
'Msgbox ("Номер текущего пользователя - " & Queries.Index(user))
For i = 0 to .Count - 1
if .Item(i).Description = testdesc Then
MsgBox ("Системное имя тестовой выборки - " & .Item(i).SysName)
MsgBox ("Идентификатор тестовой выборки - " & .Item(i).Handle)
End If
Next
Set query = .Create()
query.Description = testdesc
Msgbox ("Номер последней созданной тестовой выбокри - " & .Index(query))
Call .Update()
End With
'Альтернативное добавление
TestQuery.Description = testdesc
Queries.Add TestQuery
End Sub
'==============================================================================