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.
O método ApplyFilter executa a ação AplicarFiltro no Visual Basic.
Sintaxe
expressão. ApplyFilter (FilterName, WhereCondition, ControlName)
expression Uma variável que representa um objeto DoCmd.
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| FilterName | Opcional | Variant | Uma expressão de cadeia de caracteres que é o nome válido de um filtro ou de uma consulta no banco de dados atual. Ao utilizar este método para aplicar um filtro de servidor, o argumento FilterName tem de estar em branco. |
| WhereCondition | Opcional | Variant | Uma expressão de cadeia de caracteres que é uma cláusula WHERE do SQL válida sem a palavra WHERE. |
| NomeDoControlo | Opcional | Variant |
Comentários
Utilize a ação AplicarFiltro para aplicar um filtro, uma consulta ou uma cláusula WHERE do SQL a uma tabela, formulário ou relatório para restringir ou ordenar os registos na tabela ou nos registos 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.
Utilize 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.
Observação
Utilize o argumento FilterName se já tiver definido um filtro que forneça os dados adequados. Utilize o argumento WhereCondition para introduzir diretamente os critérios de restrição. Se você usar ambos os argumentos, o Microsoft Access aplicará a cláusula WHERE aos resultados do filtro. É preciso usar um ou ambos os argumentos.
Você pode aplicar um filtro ou uma consulta a um formulário no modo de formulário ou no modo de folha de dados.
O filtro e a condição WHERE que aplicar tornam-se a definição da propriedade Filter do formulário ou da propriedade ServerFilter do relatório.
Quando guarda uma tabela ou formulário, o Access guarda qualquer filtro atualmente definido nesse objeto, mas não aplicará o filtro automaticamente da próxima vez que o objeto for aberto (embora aplique automaticamente qualquer ordenação que tenha aplicado ao objeto antes de ser guardado).
Para aplicar um filtro automaticamente quando um formulário é aberto pela primeira vez, especifique uma macro contendo a ação ApplyFilter ou um procedimento de evento contendo o método ApplyFilter do objeto DoCmd como a configuração da propriedade de evento OnOpen do formulário. Você também pode aplicar um filtro usando a ação OpenForm ou OpenReport ou os métodos correspondentes. Para aplicar um filtro automaticamente quando uma tabela é aberta pela primeira vez, abra a tabela usando uma macro contendo a ação OpenTable, seguida imediatamente da ação ApplyFilter.
É necessário incluir, pelo menos, um dos dois argumentos do método ApplyFilter. Quando você insere um valor em ambos os argumentos, o argumento WhereCondition é aplicado ao filtro.
O comprimento máximo do argumento WhereCondition é de 32.768 caracteres (ao contrário do argumento da ação Where Condition na janela Macro, cujo comprimento máximo é de 256 caracteres).
Exemplo
O exemplo seguinte utiliza o método ApplyFilter para apresentar apenas registos que contenham o nome "Rei" no campo Apelido .
DoCmd.ApplyFilter , "LastName = 'King'"
O exemplo seguinte mostra como utilizar a propriedade AplicarFiltro para filtrar os registos apresentados quando é escolhido um botão de alternar com o nome tglFilter .
Private Sub tglFilter_Click()
With tglFilter
If .Value = True Then
.Caption = "P/T"
.StatusBarText = "only full-timers"
DoCmd.ApplyFilter , "[Hours]=40"
ElseIf .Value = False Then
.Caption = "All"
.StatusBarText = "only part-timers"
DoCmd.ApplyFilter , "[Hours]<40"
Else
.Caption = "F/T"
.StatusBarText = "all employees"
DoCmd.ShowAllRecords
.SetFocus 'to activate the button's statusbar-text
End If
End With
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.