Share via


ORDER BY-Klausel (Microsoft Access SQL)

Gilt für: Access 2013 | Access 2016

Sortiert die Ergebnisdatensätze einer Abfrage nach einem bestimmten Feld bzw. nach mehreren Feldern in auf- oder absteigender Reihenfolge.

Syntax

SELECT fieldlist FROM table WHERE selectcriteria [ORDER BY field1 [ASC | DESC ][, Field2 [ASC | DESC ]][, ...]]]

Eine SELECT-Anweisung mit einer ORDER BY-Klausel enthält folgende Bestandteile:

Teil Beschreibung
fieldlist Der Name der Felder, die zusammen mit Aliasen für Feldnamen, SQL-Aggregatfunktionen, Auswahlprädikaten (ALL, DISTINCT, DISTINCTROW oder TOP) oder anderen SELECT-Anweisungsoptionen abgerufen werden sollen.
table Der Name der Tabelle, aus der die Datensätze abgerufen werden. Weitere Informationen finden Sie unter FROM-Klausel.
selectcriteria Auswahlkriterien. Wenn die Anweisung eine WHERE-Klausel enthält, werden Werte im Microsoft Access-Datenbankmodul sortiert, nachdem die WHERE-Bedingungen auf die Datensätze angewendet wurden.
Feld1, Feld2 Die Namen der Felder, nach denen Datensätze sortiert werden.

HinwBemerkungeneise

ORDER BY ist optional. Wenn die Daten jedoch sortiert angezeigt werden sollen, müssen Sie ORDER BY verwenden.

Standardmäßig werden Werte in aufsteigender Reihenfolge sortiert (A bis Z, 0 bis 9). In den beiden folgenden Beispielen werden die Mitarbeiternamen nach dem Nachnamen sortiert:

SELECT LastName, FirstName 
FROM Employees 
ORDER BY LastName; 
SELECT LastName, FirstName 
FROM Employees 
ORDER BY LastName ASC;

Damit die Werte in absteigender Reihenfolge sortiert werden (Z bis A, 9 bis 0), fügen Sie am Ende jedes Felds, das absteigend sortiert werden soll, das reservierte Wort DESC ein. Im folgenden Beispiel werden Gehälter ausgewählt und absteigend sortiert:

SELECT LastName, Salary 
FROM Employees 
ORDER BY Salary DESC, LastName;

Wenn Sie in der ORDER BY-Klausel ein Feld mit Memo- oder OLE-Objektdaten angeben, tritt ein Fehler auf. Felder mit diesen Datentypen werden im Microsoft Jet-Datenbankmodul nicht sortiert.

ORDER BY ist in der Regel das letzte Element in einer SQL-Anweisung.

Sie können der ORDER BY-Klausel weitere Felder hinzufügen. Datensätze werden zunächst nach dem Feld sortiert, das hinter ORDER BY angegeben ist. Datensätze, deren Werte für dieses Feld identisch sind, werden dann nach dem Wert im zweiten aufgeführten Feld sortiert usw.

Beispiel

In der SQL-Anweisung im folgenden Beispiel werden Datensätze mithilfe der ORDER BY-Klausel nach dem Nachnamen in absteigender Reihenfolge sortiert (Z-A). Dabei wird die EnumFields-Prozedur aufgerufen, die im Beispiel für die SELECT-Anweisung enthalten ist.

Sub OrderByX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Select the last name and first name values from  
    ' the Employees table, and sort them in descending  
    ' order. 
    Set rst = dbs.OpenRecordset("SELECT LastName, " _ 
        & "FirstName FROM Employees " _ 
        & "ORDER BY LastName DESC;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print recordset contents. 
    EnumFields rst, 12 
 
    dbs.Close 
 
End Sub

Informationen zu den Mitwirkenden

Vom Communitymitgliedbereitgestellter Link Symbol der UtterAccess-Community.

UtterAccess ist das führende Microsoft Access-Wiki und -Hilfeforum.

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.