Share via


Método Application.BuildCriteria (Access)

O método BuildCriteria retorna uma cadeia de caracteres de critérios analisada, pois ela aparece na grade de design de consulta, no modo Filtrar por Formulário ou Filtro de Servidor por Formulário . Por exemplo, convém definir filtro ou a propriedade ServerFilter com base em critérios variáveis do usuário de um formulário. Use o método BuildCriteria para construir o argumento de expressão de cadeia de caracteres para a propriedade Filter ou ServerFilter . Cadeia de caracteres.

Sintaxe

expressão. BuildCriteria (Field, FieldType, Expression)

expressão Uma variável que representa um Aplicativo objeto.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Field Obrigatório String O campo para o qual você deseja definir critérios.
FieldType Obrigatório Integer Uma constante intrínseca que indica o tipo de dados do campo. Pode ser definido como um dos valores DAO DataTypeEnum.
Expression Obrigatório String Uma expressão em sequência que identifica os critérios a serem analisados.

Valor de retorno

Cadeia de caracteres

Comentários

O método BuildCriteria permite facilmente construir critérios para um filtro com base na entrada do usuário. Ele analisa o argumento de expressão da mesma forma que a expressão seria analisada se tivesse sido inserida na grade de design de consulta, no modo Filtrar por Formulário ou Filtro de Servidor por Formulário .

Por exemplo, um usuário que cria uma consulta em uma tabela Orders pode restringir o conjunto de resultados para pedidos feitos após 1º de janeiro de 1995, definindo critérios em um campo OrderDate . O usuário pode inserir uma expressão como a seguinte na linha Critérios abaixo do campo OrderDate :

1-1-95

O Microsoft Access analisa automaticamente essa expressão e retorna a expressão a seguir:

#1/1/95#

O método BuildCriteria oferece a mesma análise código do Visual Basic. Por exemplo, para retornar a seqüência anterior corretamente analisada, você pode fornecer os argumentos a seguir para o método BuildCriteria:

Dim strCriteria As String 
strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")

Como você precisa fornecer critérios para a propriedade Filter no formulário analisado corretamente, você pode usar o método BuildCriteria para construir uma cadeia de caracteres analisada corretamente.

Use o método BuildCriteria para construir uma cadeia de caracteres com vários critérios se esses critérios se referirem ao mesmo campo. Por exemplo, você pode usar o método BuildCriteria com os seguintes argumentos para construir uma cadeia de caracteres com vários critérios relacionados ao campo OrderDate :

strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")

Este exemplo retorna a sequência de critérios a seguir:

OrderDate>#1/1/95# And OrderDate<#5/1/95#

No entanto, se você quiser construir uma cadeia de caracteres de critérios referente a vários campos, você deve criar cadeias de caracteres e concatená-los. Por exemplo, se você quiser construir critérios para um filtro mostrar os registros de pedidos feitos após 1-1-95 e cujo frete seja menor que $50, seria necessário utilizar o método BuildCriteria duas vezes e concatenar as cadeias de caracteres resultantes.

Exemplo

O exemplo a seguir solicita ao usuário inserir as primeiras letras do nome do produto e, em seguida, usa o método BuildCriteria para construir uma cadeia de caracteres de critérios com base na entrada do usuário. Em seguida, o procedimento fornece essa cadeia de caracteres como um argumento para a propriedade de filtro de um formulário Products. Finalmente, a propriedade FiltroAtivado é definida para aplicar o filtro.

Sub SetFilter() 
 Dim frm As Form, strMsg As String 
 Dim strInput As String, strFilter As String 
 
 ' Open Products form in Form view. 
 DoCmd.OpenForm "Products" 
 ' Return Form object variable pointing to Products form. 
 Set frm = Forms!Products 
 strMsg = "Enter one or more letters of product name " _ 
 & "followed by an asterisk." 
 ' Prompt user for input. 
 strInput = InputBox(strMsg) 
 ' Build criteria string. 
 strFilter = BuildCriteria("ProductName", dbText, strInput) 
 ' Set Filter property to apply filter. 
 frm.Filter = strFilter 
 ' Set FilterOn property; form now shows filtered records. 
 frm.FilterOn = True 
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.