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.
Aplica-se ao: Access 2013, Office 2013
Você pode usar a ação AplicarFiltro para aplicar um filtro, uma consulta ou uma cláusula SQL WHERE a uma tabela, um formulário ou um relatório para restringir ou classificar os registros da tabela, ou os registros da tabela ou consulta subjacente do formulário ou relatório. Para relatórios, é possível usar esta ação somente em uma macro especificada pela propriedade de evento AoAbrir do relatório.
Observação
[!OBSERVAçãO] Você pode usar esta ação para aplicar uma cláusula WHERE do SQL apenas ao aplicar um filtro de servidor. Um filtro de servidor não pode ser aplicado a uma fonte de registros do procedimento armazenado.
Setting
A ação AplicarFiltro tem os seguintes argumentos.
Argumento da ação |
Descrição |
|---|---|
Nome do Filtro |
O nome de um filtro ou consulta que restringe ou classifica os registros da tabela, do formulário ou do relatório. Você pode inserir o nome de uma consulta existente ou de um filtro que foi salvo como uma consulta na caixa Nome do Filtro na seção Argumentos de Ação do painel Construtor de Macros . OBSERVAÇÃO: quando você estiver usando essa ação para aplicar um filtro de servidor, o argumento Nome do Filtro deve estar em branco. |
Condição Where |
Uma cláusula SQL WHERE válida (sem a palavra WHERE) ou uma expressão que restringe os registros da tabela, do formulário ou do relatório. OBSERVAÇÃO: em uma expressão de argumento Where Condition, o lado esquerdo da expressão normalmente contém um nome de campo da tabela subjacente ou consulta para o formulário ou relatório. O lado direito da expressão normalmente contém os critérios que você deseja aplicar a esse campo para restringir ou classificar os registros. Por exemplo, os critérios podem ser o nome de um controle em outro formulário que contém o valor com o qual você deseja que os registros do primeiro formulário correspondam. O nome do controle deve ser totalmente qualificado, por exemplo: Formulários! formname! Controlname Os nomes de campo devem ser cercados por aspas duplas e literais de cadeia de caracteres devem ser cercados por aspas individuais. A extensão máxima do argumento Condição Onde é de 255 caracteres. Se precisar usar uma cláusula SQL WHERE mais extensa, use o método ApplyFilter do objeto DoCmd em um módulo do VBA (Visual Basic for Applications). Você pode inserir instruções de cláusula SQL WHERE de até 32.768 caracteres no VBA. |
Observação
[!OBSERVAçãO] Use o argumento Nome do Filtro se você já tiver definido um filtro que forneça os dados apropriados. É possível usar o argumento Where Condition para inserir diretamente os critérios de restrição. Se você usar ambos os argumentos, o Microsoft Office Access 2007 aplicará a cláusula WHERE aos resultados do filtro. Use um dos argumentos, ou ambos.
Comentários
Você pode aplicar um filtro ou uma consulta a um formulário no modo Formulário ou no modo Folha de Dados.
O filtro e a condição WHERE aplicados tornam-se a configuração da propriedade Filtrar ou ServerFilter do formulário ou relatório.
Para tabelas e formulários, esta ação é semelhante a clicar em Aplicar Filtro/Classificar ou Aplicar Filtro do Servidor no menu Registros. O comando do menu aplica o filtro criado mais recentemente à tabela ou ao formulário, enquanto a ação AplicarFiltro aplica um filtro ou consulta especificado.
Em um banco de dados do Access, se você apontar para Filtrar no menu Registros e clicar em Filtrar/Classificar Avançado após executar a ação AplicarFiltro, a janela Filtrar/Classificar Avançado mostrará os critérios de filtragem selecionados com esta ação.
Para remover um filtro e exibir todos os registros de uma tabela ou formulário em um banco de dados do Office Access 2007, você pode usar a ação MostrarTodosRegistros ou o comando Remover Filtro/Classificação no menu Registros. Para remover um filtro em um projeto do Access (.adp), você pode retornar para a janela Filtro do Servidor por Formulário, remover todos os critérios de filtragem e clicar em Aplicar Filtro do Servidor no menu Registros da barra de ferramentas ou definir a propriedade ServerFilterByForm como False (0).
Quando você salvar uma tabela ou um formulário, o Access salvará todo filtro definido no momento nesse projeto, mas não aplicará esses filtros automaticamente na próxima vez em que o objeto for aberto (apesar de que aplicará automaticamente qualquer classificação aplicada ao objeto antes de ser salvo). Se desejar aplicar um filtro automaticamente quando um formulário for aberto pela primeira vez, especifique uma macro que contenha a ação AplicarFiltro ou um procedimento de evento que contenha o método ApplyFilter do objeto DoCmd como sendo a configuração da propriedade de evento AoAbrir do formulário. Você também pode aplicar um filtro usando a ação AbrirFormulário ou AbrirRelatório ou seus métodos correspondentes. Para aplicar um filtro automaticamente quando uma tabela for aberta pela primeira vez, você pode abrir a tabela usando uma macro que contenha a ação AbrirTabela, seguida imediatamente pela ação AplicarFiltro.
Exemplo
O exemplo a seguir mostra como usar a ação ApplyFilter para filtrar o formulário frmFoods à medida que ele é aberto.
Código de exemplo fornecido por: a Referência do programador do Microsoft Access 2010.
OpenForm
Form Name sfrmFoods
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
ApplyFilter
Filter Name
Where Condition=[display_name] Link "*cheese*"
Control Name