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.
Configuração
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. Pode introduzir o nome de uma consulta existente ou de um filtro que tenha sido guardado como uma consulta na caixa Nome do Filtro na secção Argumentos de Ação do painel Construtor de Macros . NOTA: quando estiver a utilizar esta ação para aplicar um filtro de servidor, o argumento Nome do Filtro tem de 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. NOTA: numa expressão de argumento Condição Where, o lado esquerdo da expressão normalmente contém um nome de campo da tabela ou consulta subjacente 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! nome do controlo Os nomes dos campos devem estar entre aspas duplas e os literais de cadeia devem estar entre plicas. 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 seguinte mostra como utilizar a ação AplicarFiltro para filtrar o formulário frmFoods à medida que é 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