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
expressão. 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].
Utilize o evento ApplyFilter para:
Certifique-se de que o filtro que está a ser aplicado está correto. Por exemplo, pode querer ter a certeza de que qualquer filtro aplicado a um formulário Encomendas inclui critérios que restringem o campo DataDaEncomenda . Para tal, marcar o valor da propriedade Filtro ou ServerFilter do formulário para se certificar de que estes critérios estão incluídos 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.
Anule ou altere as ações que efetuou quando ocorreu o evento Filtrar . Por exemplo, pode desativar ou ocultar alguns controlos no formulário quando o utilizador estiver a criar o filtro porque não quer que estes controlos 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 ou macro do evento ApplyFilter ocorrem antes de o filtro ser aplicado ou removido, ou após a janela Filtro/Ordenação Avançada, Filtrar por Formulário ou Filtrar Por Formulário ser fechada, mas antes de o formulário ser reproduzido. Os critérios que introduziu no filtro recentemente criado estão disponíveis para o procedimento de evento Ou macro AplicarFiltro como a definição da propriedade Filtro ou FiltroDoServidor .
Observação
O evento ApplyFilter não ocorrerá quando o usuário seguir um destes procedimentos:
- Aplica ou remove um filtro com as ações AplicarFiltro, OpenReport ou ShowAllRecords numa macro ou os métodos correspondentes do objeto DoCmd no Visual Basic.
- Utiliza a ação Fechar ou o método Fechar do objeto DoCmd para fechar a janela Filtro/Ordenação Avançada, Filtrar Por Formulário ou Filtrar Por Formulário do Servidor.
- Define a propriedade Filter ou ServerFilter ou a propriedade FilterOn ou ServerFilterByForm numa macro ou Visual Basic (embora possa definir estas propriedades numa macro ou procedimento de evento ApplyFilter ).
Exemplo
O exemplo seguinte mostra como ocultar os controlos AmountDue, Tax e TotalDue num formulário Encomendas quando o filtro aplicado restringe os registos apenas às encomendas que foram pagas.
Para experimentar este exemplo, adicione o seguinte procedimento de evento a um formulário Encomendas que contém controlos AmountDue, Tax e TotalDue. 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.