Kirjete sortimine tõstutundlikkuse alusel

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Access sordib kirjed tõusvas või laskuvas järjestuses, juhtumit arvestamata. Siiski saate kirjutada mõne rea Visual Basic for Applicationsi (VBA) koodi, et sortida tekst ASCII märgiväärtuste järgi. ASCII-väärtuste alusel sortimisel eristatakse suurtähti väiketähtedest ja need on tõstutundlikud.

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 ettearvamatud, siis mitte. Selles veerus kuvatakse "a" enne "A" ja "B" enne "b". See juhtub seetõttu, et kui Access hindab neid tekstväärtustena, siis "A" = "a" ja "B" = "b", kas need on väike- või suurtähed. Seejärel kasutab Access väärtuste algset järjestust. Veerus Eelsortimisjärjestus on "a" enne tähte "A" ja "B" on enne "b".

Kui tõstutundlik sortimine käivitub, asendatakse tekstiväärtused nende ASCII väärtustega. Näiteks A = 65, a = 97, B = 66 ja b = 98.

Kirjutage VBA-kood

  1. Looge VBA-moodul. Tippige jaotises Deklaratsioonid järgmine rida, kui seda veel pole.

    Option Explicit
    
  2. 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
    

    Kasutaja määratletud StrToHex funktsiooni saab kutsuda päringust. Kui edastate sellele funktsioonile sortimisvälja nime, sordib see väljaväärtused tõstutundlikus järjestuses.

  3. Saate luua päringu, mis kutsub seda funktsiooni. Klõpsake menüü Loo jaotises Päringud nuppu Päringu kujundus.

  4. Valige Lisa tabeleid (Kuva Tabel Accessis).

  5. Lohistage soovitud väljad ruudustikku.

  6. Tippige esimese tühja veeru reale Väli .Expr1: StrToHex([SortField]) StrToHex on varem loodud kasutaja määratletud funktsioon. Asendage SortField tõstutundlikke väärtusi sisaldava välja nimega.

  7. Klõpsake lahtris Sortimine väärtust Tõusev järjestus või Laskuv järjestus. Kui valite tõusvas järjestuses, kuvatakse suurtähtedega algavad väärtused väiketähtedega algavate väärtuste ees. Laskuvas järjestuses on vastupidine.

  8. Aktiveerige andmelehevaade. Access kuvab tõstutundlikus järjestuses sorditud kirjed.