Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Legt die Sortierreihenfolge von Datensätzen in einem Recordset-Objekt fest oder gibt sie zurück (nur Microsoft Access-Arbeitsbereiche).
Syntax
expression .Sort
Ausdruck Eine Variable, die ein Recordset-Objekt darstellt.
Bemerkungen
Sie können die Sort-Eigenschaft mit Recordset-Objekten vom Typ „Dynaset“ und „Snapshot“ verwenden.
Wenn Sie diese Eigenschaft für ein Objekt festlegen, wird die Sortierung vorgenommen, wenn anhand dieses Objekts ein nachfolgendes Recordset-Objekt erstellt wird. Die Einstellung der Sort-Eigenschaft hat Vorrang vor allen für ein QueryDef -Objekt festgelegten Sortierreihenfolgen.
Standardmäßig ist die aufsteigende Sortierreihenfolge (A bis Z oder 0 bis 100) festgelegt.
Die Sort gilt nicht für Recordset-Objekte vom Typ „Tabelle“ oder „Nur weiterleiten“. Verwenden Sie zum Sortieren eines Recordset-Objekts vom Typ „Tabelle“ die Index-Eigenschaft.
Hinweis
In vielen Fällen ist geht schneller, ein neues Recordset-Objekt mithilfe einer SQL-Anweisung zu öffnen, die die Sortierkriterien enthält.
Beispiel
This example demonstrates the Sort property by changing its value and creating a new Recordset. Die SortOutput-Funktion ist zum Ausführen dieser Prozedur erforderlich.
Sub SortX()
Dim dbsNorthwind As Database
Dim rstEmployees As Recordset
Dim rstSortEmployees As Recordset
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstEmployees = _
dbsNorthwind.OpenRecordset("Employees", _
dbOpenDynaset)
With rstEmployees
SortOutput "Original Recordset:", rstEmployees
.Sort = "LastName, FirstName"
' Print report showing Sort property and record order.
SortOutput _
"Recordset after changing Sort property:", _
rstEmployees
' Open new Recordset from current one.
Set rstSortEmployees = .OpenRecordset
' Print report showing Sort property and record order.
SortOutput "New Recordset:", rstSortEmployees
rstSortEmployees.Close
.Close
End With
dbsNorthwind.Close
End Sub
Function SortOutput(strTemp As String, _
rstTemp As Recordset)
With rstTemp
Debug.Print strTemp
Debug.Print " Sort = " & _
IIf(.Sort <> "", .Sort, "[Empty]")
.MoveFirst
' Enumerate Recordset.
Do While Not .EOF
Debug.Print " " & !LastName & _
", " & !FirstName
.MoveNext
Loop
End With
End Function
Wenn Sie die auszuwählenden Daten kennen, ist es in der Regel effizienter, ein Recordset mit einer SQL-Anweisung zu erstellen. Dieses Beispiel zeigt, wie Sie ein einzelnes Recordset-Objekt erstellen und dieselben Ergebnisse erhalten, wie im vorherigen Beispiel.
Sub SortX2()
Dim dbsNorthwind As Database
Dim rstEmployees As Recordset
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
' Open a Recordset from an SQL statement that specifies a
' sort order.
Set rstEmployees = _
dbsNorthwind.OpenRecordset("SELECT * " & _
"FROM Employees ORDER BY LastName, FirstName", _
dbOpenDynaset)
dbsNorthwind.Close
End Sub