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.