全部显示

ApplyFilter 事件

       

ApplyFilter 事件在 Microsoft Access 项目 (.adp) 或 Access 数据库 (.mdb) 中都可以发生。

在 Access 数据库中,用户执行下列操作之一时,ApplyFilter 事件将发生:

在 Access 项目中,用户执行下列操作之一时,ApplyFilter 事件发生:

说明

当该事件发生时,若要运行一个事件过程,可将 OnApplyFilter 属性设置为宏的名称或 [事件过程]。

使用 ApplyFilter 事件可以:

在应用筛选或取消筛选前,或者在关闭“高级筛选/排序”、“按窗体筛选”、“按窗体服务器筛选”窗口之后、重新显示窗体之前,ApplyFilter 宏中的操作或事件过程将发生。在新建筛选中输入的条件,将成为 ApplyFilter 宏或事件过程的 FilterServerFilter 属性设置。

注意  当用户执行下列操作之一时,ApplyFilter 事件不会发生:

示例

以下示例显示了当筛选用于限制那些已支付的订单记录时,如何在“订单”窗体上隐藏“数量”、“折扣”和“总价”控件。

若要试用该示例,请在包含“数量”、“折扣”和“总价”控件的“订单”窗体中添加下列事件过程。运行只列出那些已支付了的订单记录的筛选。

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
    If Not IsNull(Me.Filter) And (InStr(Me.Filter, "Orders.Paid = -1")>0 _
            Or InStr(Me.Filter, "Orders.Paid = True")>0)Then
        If ApplyType = acApplyFilter Then
            Forms!Orders!AmountDue.Visible = False
            Forms!Orders!Tax.Visible = False
            Forms!Orders!TotalDue.Visible = False
        ElseIf ApplyType = acShowAllRecords Then
            Forms!Orders!AmountDue.Visible = True
            Forms!Orders!Tax.Visible = True
            Forms!Orders!TotalDue.Visible = True
        End If
    End If
End Sub