Freigeben über


Sortieren von Datensätzen in ASCII-Reihenfolge (Beachtung von Groß-/Kleinschreibung)

Access sortiert Datensätze in aufsteigender oder absteigender Reihenfolge ohne Berücksichtigung der Groß-/Kleinschreibung. Sie können jedoch eine benutzerdefinierte Funktion in einer Abfrage verwenden, um Textdaten nach ihren ASCII-Zeichenwerten zu sortieren. Dadurch ergibt sich eine Reihenfolge unter Beachtung von Groß- und Kleinschreibung.

In der folgenden Tabelle wird veranschaulicht, wie sich die aufsteigende Reihenfolge in Access von einer Reihenfolge unterscheidet, in der die Groß-/Kleinschreibung beachtet wird.

Vorsortierreihenfolge Aufsteigende Reihenfolge Groß-/Kleinschreibung beachten
c A Ein
D a B
a B C
d b D
B C a
C c b
Ein D c
b d d

Obwohl die Ergebnisse in der Spalte Aufsteigende Reihenfolge auf den ersten Blick etwas unvorhersehbar erscheinen, sind sie es nicht. In der Spalte Aufsteigende Reihenfolge wird "a" vor "A" und "B" vor "b" angezeigt. Dies liegt daran, dass bei Auswertung als Textwerte "A" = "a" und "B" = "b", ob Klein- oder Großbuchstaben. Access berücksichtigt die ursprüngliche Reihenfolge der Werte.

In der Spalte Vorsortierreihenfolge steht "a" vor "A" und "B" vor "b".

Wenn der Sortiervorgang unter Beachtung von Groß- und Kleinschreibung ausgeführt wird, werden die Textwerte durch die entsprechenden ASCII-Werte ersetzt. Beispielsweise ist A = 65, a = 97, B = 66, b = 98 usw.

Die folgende benutzerdefinierte Funktion kann verwendet werden, um Daten in der Reihenfolge unter Beachtung von Groß- und Kleinschreibung zu sortieren.

Function StrToHex(S As Variant) As Variant 
 Dim Temp As String, I As Integer 
 
 If VarType(S) <> 8 Then 
 
 StrToHex = S 
 Else 
 Temp = "" 
 For I = 1 To Len(S) 
 Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00") 
 Next I 
 StrToHex = Temp 
 End If 
End Function

StrToHex-Funktion

Die oben beschriebene benutzerdefinierte Funktion StrToHex kann von einer Abfrage aus aufgerufen werden. Wenn Sie den Namen des Sortierfelds an diese Funktion übergeben, werden die Feldwerte unter Beachtung der Groß- und Kleinschreibung sortiert. Mit den folgenden Schritten wird die Verwendung der Funktion veranschaulicht.

  1. Erstellen Sie eine Abfrage, aus der Sie diese Funktion aufrufen.

  2. Wählen Sie im Dialogfeld Tabelle anzeigen die Tabelle aus, die Sie sortieren möchten, und wählen Sie dann Hinzufügen aus.

  3. Ziehen Sie die gewünschten Felder in das Raster.

  4. Geben Sie in der ersten leeren Spalte in der Zeile Feldden Text Expr1: StrToHex([ SortField ]) ein. StrToHex ist die benutzerdefinierte Funktion, die Sie zuvor erstellt haben. SortField ist der Name des Felds, das die Werte enthält, bei denen die Groß-/Kleinschreibung beachtet wird.

  5. Wählen Sie in der Zelle Sortieren die Option Aufsteigend oder Absteigend aus. Wenn Sie aufsteigende Reihenfolge auswählen, werden Werte, die mit Großbuchstaben beginnen, vor denen angezeigt, die mit Kleinbuchstaben beginnen. Das Anwenden einer Sortierung in absteigender Reihenfolge bewirkt das Gegenteil.

  6. Wechseln Sie zur Datenblattansicht. Access zeigt die Datensätze an, sortiert nach Groß-/Kleinschreibung.

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.