Access a rekordokat emelkedő vagy csökkenő sorrendbe rendezi kis- és nagybetű megkülönböztetése nélkül. De néhány sornyi VBA-kód írásával sorba rendezheti a szöveget az ASCII-karakterértékei alapján. Az ASCII-értékek alapján való sorba rendezés megkülönbözteti a kis- és nagybetűket, így egy kis- és nagybetűket megkülönböztető sorrend jön létre.
A következő táblázatban láthatja, hogy az emelkedő rendezési sorrend az Accessben hogyan tér el a kis- és nagybetűket megkülönböztető sorrendtől:
Rendezés előtti sorrend |
Emelkedő sorrend |
Kis- és nagybetűt megkülönböztető sorrend |
---|---|---|
c |
a |
A |
D |
A |
B |
a |
B |
C |
n |
b |
D |
B |
c |
a |
C |
C |
b |
A |
D |
c |
b |
n |
n |
Annak ellenére, hogy az Emelkedő sorrend oszlopában található eredmények elsőre megjósolhatatlannak tűnnek, nem azok. Az Emelkedő sorrend oszlopában az „a“ az „A“ előtt jelenik meg, és a „B“ a „b“ előtt. Ez azért történik, mert amikor szövegértékekként vannak értékelve, az „A“ egyenlő „a“-val, és „B“ egyenlő „b“-vel, kis- és nagybetűre való tekintet nélkül. Az Access az értékek eredeti sorrendjét veszi figyelembe. A rendezés előtti sorrendbeli oszlopban „a“ megelőzi „A“-t és „B“ a „b“-t.
Amikor a kis- és nagybetűt megkülönböztető sorrendműveletet végrehajtják, az ASCII-értékek veszik át a szövegértékek helyét. Például: A = 65, a = 97, B = 66, b = 98, és így tovább.
VBA-kód írása
-
Hozzon létre egy VBA-modult és írja be a következő sort a deklarációs szakaszba, ha még nincsen ott:
Option Explicit
-
Írja be a következő eljárást a Visual Basic Editorben található modulba:
Function StrToHex (S As Variant) As Variant ' ' Converts a string to a series of hexadecimal digits. ' For example, StrToHex(Chr(9) & "A~") returns 09417E. ' 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
Az előző felhasználó által definiált függvény, StrToHex, a lekérdezésből hívható le. Amikor továbbítja a rendezési mező nevét ehhez a függvényhez, a mezőértékeket a kis- és nagybetűt megkülönböztető sorrendbe rendezi.
-
Hozzon létre egy lekérdezést, amelyből ezt a függvényt fogja hívni.
Kattintson a Létrehozás lap Lekérdezések csoportjának Lekérdezéstervező gombjára.
-
Válassza a Táblák hozzáadása (Tábla megjelenítése az Accessben) lehetőséget.
-
Húzza a rácsra azokat a területeket, amelyeket használni szeretne.
-
Az első üres oszlopban, a Mező sorban, írja be ezeket: Expr1: StrToHex([SortField]).
StrToHex a felhasználó által definiált függvény, amelyet korábban hozott létre. A SortField azon mező neve, amely a kis- és nagybetű megkülönböztetésével kapcsolatos értékeket tartalmazza.
-
A Sorrend mezőben kattintson a Növekvő vagy a Csökkenő beállításra.
Ha az emelkedő sorrendet választja, a nagybetűvel kezdődő értékek a kisbetűs értékek előtt fognak megjelenni. Egy csökkenő rendezési sorrend alkalmazása az ellenkezőt hajtja végre.
-
Adatlap nézetre váltás.
Az Access a rekordokat kis- és nagybetűket megkülönböztető sorrendben jeleníti meg.