Freigeben über


Operator Zwischen...Und

Gilt für: Access 2013 | Access 2016

Bestimmt, ob der Wert eines Ausdrucks innerhalb eines angegebenen Wertebereichs liegt. Verwenden Sie diesen Operator in SQL-Anweisungen.

Syntax

expr [ Not ] Betweenvalue1andvalue2

Die Syntax des Between…And-Operators besteht aus folgenden Komponenten:

Teil Beschreibung
Ausdruck Ausdruck zur Identifizierung des Felds, das die Daten enthält, die Sie auswerten möchten.
Wert1, Wert2 Ausdrücke, anhand derer Ausdr ausgewertet werden soll.

Hinweise

Liegt der Wert von Ausdr zwischen Wert1 und Wert2 (inklusive), wird vom Between…And-Operator True zurückgegeben; andernfalls wird False zurückgegeben. Sie können den logischen Operator Nicht einschließen, um die gegenteilige Bedingung auszuwerten (d. h., ob Ausdruck außerhalb des von Wert1 und Wert2 definierten Bereichs liegt).

Sie können Zwischen.. Und verwenden, um festzustellen, ob der Wert eines Felds innerhalb eines angegebenen numerischen Bereichs liegt. Im folgenden Beispiel wird ermittelt, ob eine Bestellung an einen Ort innerhalb eines Bereichs von Postleitzahlen versandt wurde. Wenn die Postleitzahl zwischen 98101 und 98199 liegt, gibt die Funktion IIf"Local" zurück. Andernfalls gibt sie "Nonlocal" zurück.

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

Ist Ausdr, Wert1 oder Wert2 gleich Null, wird vom Between…And-Operator ein Null-Wert zurückgegeben.

Da Platzhalterzeichen wie z. B. * als Literale behandelt werden, können Sie sie nicht mit dem Operator Zwischen...Und verwenden. Beispielsweise können Sie nicht 980* und 989* verwenden, um alle Postleitzahlen zu suchen, die mit 980 bis 989 beginnen.

Stattdessen stehen Ihnen zwei alternative Methoden zur Verfügung. Sie können der Abfrage einen Ausdruck hinzufügen, der die linken drei Zeichen des Textfelds verwendet, und den Operator Zwischen...Und auf diese Zeichen anwenden. Alternativ können Sie die hohe und niedrigen Werte mit zusätzlichen Zeichen auffüllen – in diesem Fall 98000 bis 98999 oder 98000 bis 98999-9999 bei Verwendung von erweiterten Postleitzahlen. (Sie müssen - 0000 von den niedrigen Werten weglassen, da andernfalls 98000 gelöscht wird, wenn einige Postleitzahlen erweiterte Abschnitte haben und andere nicht.)

Beispiel

In diesem Beispiel werden die Namen und Kontaktdaten jedes Kunden aufgelistet, der im zweiten Quartal 1995 eine Bestellung aufgegeben hat.

In diesem Beispiel wird die EnumFields-Prozedur aufgerufen, die im Beispiel für die SELECT-Anweisung enthalten ist.

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

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.