Applies To„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Access rikiuoja įrašus didėjimo arba mažėjimo tvarka, neatsižvelgiant į didžiąją ir mažąją raides. Tačiau rašydami kelias "Visual Basic for Applications" (VBA) kodo eilutes, galite rūšiuoti tekstą pagal ASCII simbolių reikšmes. Rūšiuojant pagal ASCII reikšmes, didžiosios raidės skiriasi nuo mažųjų raidžių, o jų tvarka skiriasi didžiosiomis ir mažosiomis raidėmis.

Šioje lentelėje parodyta, kaip "Access" didėjimo tvarka skiriasi nuo rūšiavimo pagal didžiąsias ir mažąsias raides tvarkos:

Išankstinio rūšiavimo tvarka

Didėjimo tvarka

Didžiąsias ir mažąsias raides skiriančiuose nurodymuose

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Nors rezultatai stulpelyje Didėjimo tvarka iš pradžių gali pasirodyti neprognozuojami, jie yra ne. Stulpelyje Didėjimo tvarka "a" rodoma prieš "A", o " B" rodoma prieš "b". Taip atsitinka todėl, kad kai įvertinama kaip tekstinės reikšmės, "A" = "a" ir "B" = "b", tiek mažosiomis, tiek didžiosiomis raidėmis. "Access" atsižvelgia į pradinę reikšmių tvarką. Stulpelyje Išankstinio rūšiavimo tvarka "a" prieš "A" ir "B" eina prieš "b".

Atliekant rūšiavimo didžiąsias ir mažąsias raides operaciją, teksto reikšmės pakeičiamos ascii reikšmėmis. Pavyzdžiui, A = 65, a = 97, B = 66, b = 98 ir t. t.

Rašyti VBA kodą

  1. Sukurkite VBA modulį ir aprašų sekcijoje įveskite šią eilutę, jei jos dar nėra:

    Option Explicit

  2. "Visual Basic" rengyklės modulyje įveskite šią procedūrą:

    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
    

    Ankstesnė vartotojo apibrėžta funkcija StrToHex gali būti iškviečiama iš užklausos. Kai šiai funkcijai perduosite rikiavimo lauko pavadinimą, laukų reikšmės bus rūšiuojamos didžiąsias ir mažąsias raides skiriančioje tvarkoje.

  3. Dabar sukurkite užklausą, iš kurios iškviesite šią funkciją.

    Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.

  4. Pasirinkite Įtraukti lentelių (rodyti lentelę programoje "Access").

  5. Vilkite norimus laukus į tinklelį.

  6. Pirmame tuščiame stulpelyje, eilutėje Laukas , įveskite Reiškinys1: StrToHex([SortField]).

    StrToHex yra vartotojo apibrėžta funkcija, kurią sukūrėte anksčiau. SortField yra lauko, kuriame yra didžiąsias ir mažąsias raides skiriančios reikšmės, pavadinimas.

  7. Langelyje Rikiuoti spustelėkite Didėjimo tvarka arba Mažėjimo tvarka.

    Jei pasirinksite didėjimo tvarką, reikšmė, prasidedanti didžiosiomis raidėmis, bus rodoma prieš tas, kurios prasideda mažosiomis raidėmis. Taikant mažėjimo tvarkos rikiavimą, rūšiuojama priešinga tvarka.

  8. Perjungti į duomenų lapo rodinį.

    Programa "Access" rodo įrašus, surūšiuotus didžiąsias ir mažąsias raides skiriaa tvarka.

Puslapio viršus

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.