Access sortib kirjeid tõusvas või laskuvas järjestuses, ilma et peaksite arvestama juhtumiga. Kui aga kirjutate mõne rea Visual Basic for Applicationsi (VBA) koodi, saate teksti sortida selle ASCII märgiväärtuste järgi. ASCII väärtuste alusel sortimisel eristatakse suurtähed väiketähtedest ja need on tõstutundliku järjestusega.
Järgmine tabel näitab, kuidas Accessi tõusev sortimisjärjestus erineb tõstutundlikust sortimisjärjestusest.
Eelsortimisjärjestus |
Tõusev järjestus |
Tõstutundlik järjestus |
---|---|---|
c |
a |
A |
D |
A |
B |
a |
B |
C |
d |
b |
D |
B |
c |
a |
C |
C |
b |
A |
D |
c |
b |
p |
d |
Kuigi tulemid tõusvas järjestuses veerus võivad alguses tunduda mõnevõrra ettearvamatud, ei ole need siiski. Tõusvas järjestuses kuvatakse veerus "a" enne tähte "A" ja "B" enne "b". Põhjus on selles, et tekstiväärtustena väärtustamisel "A" = "a" ja "B" = "b", kas väike- või suurtähtedena. Access võtab arvesse väärtuste algset järjestust. Veerus Sortimiseelne järjestus eelneb "a" ees "A" ja "B" ees "b".
Tõstutundliku sortimistoimingu sooritamisel asendatakse tekstiväärtused asendatakse nende ASCII väärtustega. Näiteks A = 65, a = 97, B = 66, b = 98 jne.
Kirjutage VBA-kood
-
Looge VBA-moodul ja tippige jaotisesse Deklaratsioonid järgmine rida, kui see pole veel seal:
Option Explicit
-
Tippige Visual Basic Editori moodulisse järgmine toiming:
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
Eelneva kasutaja määratletud funktsiooni StrToHex saab kutsuda päringust. Kui edastate sellele funktsioonile sortimisvälja nime, sordib see väljaväärtused tõstutundlikus järjestuses.
-
Nüüd looge päring, millest te selle funktsiooni kutsute.
Klõpsake menüü Loo jaotises Päringud nuppu Päringu kujundus.
-
Valige Lisa tabeleid (Kuva Tabel Accessis).
-
Lohistage soovitud väljad ruudustikku.
-
Tippige esimese tühja veeru reale Välitekst Avaldis1: StrToHex([SortField]).
StrToHex on varem loodud kasutaja määratletud funktsioon. SortField on tõstutundlikke väärtusi sisaldava välja nimi.
-
Klõpsake lahtris Sortimine väärtust Tõusev järjestus või Laskuv järjestus.
Kui valite tõusvas järjestuses, kuvatakse suurtähtedega algavate väärtuste ette väiketähed. Laskuvas järjestuses sortimise rakendamine on vastupidine.
-
Andmelehevaate aktiveerimine.
Access kuvab tõstutundlikus järjestuses sorditud kirjed.