Выполняет произвольный SQL запрос в контексте данного слоя.
Function ExecSQL(SqlText As String, [Context]) As IZSqlResult
SqlText - текст SQL запроса.
Context - необязательный параметр в виде объекта ZSqlContext, задающий дополнительный контекст запроса.
Метод выполняет указанный в SqlText запрос и возвращает результат в виде объекта IZSqlResult. В параметре Context можно задать дополнительный контекс запроса.
Зарос выполняется в контексте слоя, у которого вызван этот метод. Если выполняется выборка только из этого слоя, то раздел FROM в запросе можно опустить, например:
'Возвращает максимальную площадь у объектов слоя Set Rslt = Layer.ExecSQL("SELECT MAX(geometry.STArea())")Если нужно сделать выборку с пересечением двух слоев, то можно воспользоваться параметром Context:
Set Context = New ZSqlContext 'Добавляем в контекст слой с названием Кварталы Context.AddSource LayerQuart 'Выполняем выборку у слоя Здания тех объектов, которые попали в квартал с Sys=3 Set Rslt = LayerDoma.ExecSQL("SELECT D.Sys FROM [Здания] AS D _ INNER JOIN [Кварталы] AS Q ON D.geometry.STWithin(Q.geometry) _ WHERE Q.Sys=3", Context)