ODSOFilters 对象

         
OfficeDataSourceObject
ODSOFilters
ODSOFilter

表示应用于附加到邮件合并发布内容的数据源的所有筛选。ODSOFilters 对象由 ODSOFilter 对象组成。

使用 ODSOFilters 对象

使用 ODSOFilters 对象的 Add 方法在查询中新添一个筛选条件。本示例在查询字符串中添加一行,然后将合并的筛选应用于数据源。

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

使用 Item 方法访问单个筛选条件。本示例在所有筛选条件中循环,如果找到具有 "Region" 的条件,则将其更改为从邮件合并中删除所有不等于 "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