Объект ODSOFilter (Office)
Представляет фильтр, применяемый к присоединенному источнику данных слияния. Объект ODSOFilter является членом объекта ODSOFilters .
Каждый фильтр представляет собой строку в строке запроса. Используйте свойства Column, CompareTo, CompareTo и Conjunction , чтобы вернуть или задать условие запроса к источнику данных.
В следующем примере изменяется существующий фильтр, чтобы удалить из слияния все записи, не имеющие поля Регион , равные "WA".
Sub SetQueryCriterion()
Dim appOffice As Office.OfficeDataSourceObject
Dim intItem As Integer
Set appOffice = Application.OfficeDataSourceObject
appOffice.Open bstrConnect:="DRIVER=SQL Server;SERVER=ServerName;" & _
"UID=user;PWD=;DATABASE=Northwind", bstrTable:="Employees"
With appOffice.Filters
For intItem = 1 To .Count
With .Item(intItem)
If .Column = "Region" Then
.Comparison = msoFilterComparisonNotEqual
.CompareTo = "WA"
If .Conjunction = "Or" Then .Conjunction = "And"
End If
End With
Next intItem
End With
End Sub
Используйте метод Add объекта ODSOFilters , чтобы добавить в запрос новое условие фильтра. В этом примере добавляется новая строка в строку запроса, а затем применяется объединенный фильтр к источнику данных.
Sub SetQueryCriterion()
Dim appOffice As OfficeDataSourceObject
Set appOffice = Application.OfficeDataSourceObject
appOffice.Open bstrConnect:="DRIVER=SQL Server;SERVER=ServerName;" & _
"UID=user;PWD=;DATABASE=Northwind", bstrTable:="Employees"
With appOffice.Filters
.Add Column:="Region", _
Comparison:=msoFilterComparisonIsBlank, _
Conjunction:=msoFilterConjunctionAnd
.ApplyFilter
End With
End Sub
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.