Between…And 演算子

適用先: Access 2013 | Access 2016

式の値が指定した値の範囲内にあるかどうかを判断します。 SQL ステートメント内でこの演算子を使用します。

構文

expr [ Not ] betweenvalue1andvalue2

Between...And 演算子には、次の指定項目があります。

指定項目 説明
expr 評価するデータを含むフィールドを指定する式です。
value1, value2 引数 expr を評価するための式

注釈

expr の値が value1value2 (包括) の間にある場合は、Between...And 演算子は True を返します。それ以外の場合は False を返します。 反対の条件 (つまり、expr が、value1value2 で定義した範囲の外にあるかどうか) で評価するために Not 論理演算子を含めることができます。

Between…And を使って、フィールドの値が指定された数値範囲に含まれるかどうかを判断します。 次の例では、郵便番号のある範囲の場所に注文どおり発送されたかどうかを判断します。 郵便番号が 98101 と 98199 の間にある場合、IIf 関数が "Local" を返します。 それ以外の場合は、"Nonlocal" を返します。

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

引数 exprvalue1、または value2 のいずれかが Null 値であれば、Between...And 演算子は Null 値を返します。

* などのワイルドカード文字は、リテラルとして扱われるため、Between…And 演算子と一緒に使うことはできません。 たとえば、980 から 989 で始まるすべての郵便を検索するのに、980*989* を使うことはできません。

代わりに、これを行うための他の方法が 2 つあります。 テキスト フィールドの左から 3 文字をクエリする式を追加して、それらの文字に対して Between…And を使用します。 あるいは、高い値と低い値に追加の文字を充てることができます。ここでは、98000 から 98999、または拡張郵便番号を使っている場合は、98000 から 98999-9999 となります。 (一部の郵便番号にセクションが拡張されていて、それ以外の場合は 98000 が削除されるため、低い値から - 0000 を省略する必要があります)。

次の使用例では、1995 年の第 2 四半期に注文を出した各得意先の名前および連絡先がリストされます。

この例では、EnumFields プロシージャを呼び出します。EnumFields プロシージャについては、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

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。