Compartilhar via


Operador Between...And

Aplica-se ao: Access 2013 | Access 2016

Determina se o valor de uma expressão ocorre em um intervalo de valores especificado. Utilize este operador nas instruções SQL.

Sintaxe

expr [ Not ] Betweenvalue1Andvalue2

A sintaxe do operador Between…And possui três partes:

Parte Descrição
expr Expressão que identifica o campo que contém os dados que você deseja avaliar.
value1, value2 As expressões em relação às quais você deseja avaliar expr.

Comentários

Se o valor de expr estiver entre value1 e value2 (inclusive), o operador Between…And retornará True; caso contrário, retornará False. Você pode incluir o operador lógico Not para avaliar a condição oposta (ou seja, se expr se situa fora do intervalo definido por value1 e value2).

Você pode usar Between...And para determinar se o valor de um campo se situa dentro de um intervalo numérico especificado. O exemplo a seguir determina se um pedido foi enviado para um local em um intervalo de códigos postais. Se o código postal está entre 98101 e 98199, a função Ilf retorna "Local". Caso contrário, retornará "Nonlocal".

SELECT IIf(PostalCode Between 98101 And 98199, "Local", "Nonlocal")
FROM Publishers;

Se expr, value1 ou value2 for Null, Between…And retornará um valor Null.

Como caracteres curinga, como *, são tratados como literais, não é possível usá-los com o operador Between...And. Por exemplo, você não pode usar 980* e 989* para localizar todos os códigos postais que comecem com 980 até 989.

Em vez disso, você tem duas opções para realizar isso. You can add an expression to the query that takes the left three characters of the text field and use Between…And on those characters. Ou pode completar valores altos e baixos com caracteres extras— nesse caso, 98000 a 98999 ou 98000 a 98999–9999 se estiver usando códigos postais estendidos. (Tem de omitir - 0000 dos valores baixos porque, caso contrário, 98000 é removido se alguns códigos postais tiverem secções expandidas e outros não.)

Exemplo

This example lists the name and contact of every customer who placed an order in the second quarter of 1995.

Este exemplo chama o procedimento EnumFields, que você pode encontrar no exemplo de instrução SELECT.

Sub SubQueryX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
    
    ' List the name and contact of every customer  
    ' who placed an order in the second quarter of 
    ' 1995. 
 
    Set rst = dbs.OpenRecordset("SELECT ContactName," _ 
        & " CompanyName, ContactTitle, Phone" _ 
        & " FROM Customers" _ 
        & " WHERE CustomerID" _ 
        & " IN (SELECT CustomerID FROM Orders" _ 
        & " WHERE OrderDate Between #04/1/95#" _ 
        & " And #07/1/95#);") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 25 
 
    dbs.Close 
 
End Sub

Confira também

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.