Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ocorrerá quando um filtro for aplicado a um formulário.
Sintaxe
mais simples. ApplyFilter (Cancelar, ApplyType)
expressão Uma variável que representa um objeto Form.
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| Cancel | Obrigatório | Inteiro | A configuração determina se o evento ApplyFilter ocorre. A configuração do argumento Cancel como True cancelará o evento ApplyFilter e o filtro não será aplicado ao formulário. |
| ApplyType | Obrigatório | Número inteiro | Retorna o tipo de filtro que foi aplicado. |
Comentários
Para executar uma macro ou um procedimento de evento quando ele ocorrer, defina a propriedade OnApplyFilter como o nome da macro ou como [Procedimento do Evento].
Use o evento ApplyFilter para:
Verifique se o filtro que está sendo aplicado está correto. Por exemplo, talvez você queira ter certeza de que qualquer filtro aplicado a um formulário Pedidos inclui critérios que restringem o campo DatadoPedido . Para fazer isso, marque o valor da propriedade Filter ou ServerFilter do formulário para garantir que esse critério seja incluído na expressão da cláusula WHERE.
Alterar a exibição do formulário antes de aplicar o filtro. Por exemplo, quando você aplicar um determinado filtro, pode querer desativar ou ocultar alguns campos que não sejam apropriados para os registros exibidos por esse filtro.
Desfaça ou altere as ações executadas quando o evento Filter ocorreu. Por exemplo, você pode desabilitar ou ocultar alguns controles no formulário quando o usuário estiver criando o filtro porque não deseja que esses controles sejam incluídos nos critérios de filtro. Depois, ative ou exiba esses controles depois que o filtro for aplicado.
As ações no procedimento de evento ApplyFilter ou na macro ocorrem antes que o filtro seja aplicado ou removido ou depois que a janela Filtrar/Classificar Avançado, Filtrar por Formulário ou Filtro de Servidor por Formulário for fechada, mas antes que o formulário seja exibido novamente. Os critérios que você inseriu no filtro recém-criado estão disponíveis para o procedimento de evento ApplyFilter ou macro como a configuração da propriedade Filter ou ServerFilter .
Observação
O evento ApplyFilter não ocorrerá quando o usuário seguir um destes procedimentos:
- Aplica ou remove um filtro usando as ações ApplyFilter, OpenReport ou ShowAllRecords em uma macro ou seus métodos correspondentes do objeto DoCmd no Visual Basic.
- Usa a ação Fechar ou o método Fechar do objeto DoCmd para fechar a janela Filtrar/Classificar Avançado, Filtrar por Formulário ou Filtro de Servidor por Formulário.
- Define a propriedade Filter ou ServerFilter ou a propriedade FilterOn ou ServerFilterByForm em uma macro ou Visual Basic (embora você possa definir essas propriedades em um procedimento de evento ApplyFilter ou macro).
Exemplo
O exemplo a seguir mostra como ocultar os controles AmountDue, Tax e TotalDue em um formulário Pedidos quando o filtro aplicado restringe os registros apenas aos pedidos que foram pagos.
Para experimentar este exemplo, adicione o procedimento de evento a seguir a um formulário Pedidos que contenha os controles ValorDívida, Imposto e TotalDudo. Execute um filtro que liste somente os pedidos já pagos.
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
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.