Applies ToAccess za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access razvrsti zapise v naraščajočem ali padajočem vrstnem redu ne glede na primer. Vendar pa lahko s pisanjem nekaj vrstic kode Visual Basic for Applications (VBA) razvrstite besedilo po njenih vrednostih znakov ASCII. Z razvrščanjem po vrednostih ASCII ločite velike črke od malih črk, rezultat pa je v vrstnem redu, ki razlikuje med velikimi in malimi črkami.

V spodnji tabeli je prikazano, kako se naraščajoči vrstni red razvrščanja v Accessu razlikuje od vrstnega reda razvrščanja, ki razlikuje med velikimi in malimi črkami:

Vrstni red pred razvrščanjem

Naraščajoče vrstni red

Vrstni red, ki razlikuje velike in male črke

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Čeprav so rezultati v stolpcu Naraščajoči vrstni red na prvi pogled morda prikazani nekoliko nepredvidljivi, niso. V stolpcu Naraščajoče vrstni red se pred »A« in »B« prikaže »a« in »b«. Do tega pride, ker, če je ta ovrednotena kot besedilna vrednost, "A" = "a" in "B" = "b", ne glede na to, ali so male ali velike. Access upošteva izvirni vrstni red vrednosti. V stolpcu Vrstni red pred razvrščanjem je »a« pred »A« in »B« pred »b«.

Ko izvedete razvrščanje z razlikovanjem velikih in malih črk, so besedilne vrednosti zamenjane z vrednostmi ASCII. Na primer A = 65, a = 97, B = 66, b = 98 in tako naprej.

Pisanje kode VBA

  1. Ustvarite modul VBA in vnesite to vrstico v razdelek Deklaracije, če še ni na voljo:

    Option Explicit

  2. V modul v urejevalniku za Visual Basic vnesite ta postopek:

    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
    

    Predhodno uporabniško določeno funkcijo StrToHex lahko pri klicate iz poizvedbe. Ko to funkcijo poimenujte polje za razvrščanje, bodo vrednosti polj razvrščanja v vrstnem redu, ki razlikuje med velikimi in malimi črkami.

  3. Zdaj ustvarite poizvedbo, iz katere boste poklicali to funkcijo.

    Na zavihku Ustvari v skupini Poizvedbe kliknite Načrt poizvedbe.

  4. Izberite Dodaj tabele (Pokaži tabelo v Accessu).

  5. Povlecite polja, ki jih želite, v mrežo.

  6. V prvem praznem stolpcu v vrstico Polje vnesite Expr1: StrToHex([SortField]).

    StrToHex je uporabniško določena funkcija, ki ste jo prej ustvarili. SortField je ime polja, ki vsebuje vrednosti, ki razlikujejo med velikimi in malimi črkami.

  7. V celici Razvrsti kliknite Naraščajoče ali Padajoče.

    Če izberete naraščajoči vrstni red, bo vrednost, ki se začne z velikimi črkami, prikazana pred tistimi, ki se začnejo z malimi črkami. Z razvrščanjem padajočega vrstnega reda naredite nasprotno.

  8. Preklopi v pogled podatkovnega lista.

    Access prikaže zapise, razvrščene po vrstnem redu, ki razlikuje med malimi in velikimi črkami.

Na vrh strani

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.