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

Access lajittelee tietueet nousevaan tai laskevaan järjestykseen kirjainkoosta riippumatta. Voit kuitenkin lajitella tekstiä sen ASCII-merkkiarvojen mukaan, jos kirjoitat muutaman rivin VBA-koodia. ASCII-arvojen mukainen lajittelu erottaa isot kirjaimet pienistä kirjaimista sekä lajittelee tulokset kirjainkoon huomioon ottavaan järjestykseen.

Seuraavassa taulukossa esitetään, miten Accessin nouseva järjestyds eroaa kirjainkoon huomioon ottavasta järjestyksestä:

Lajittelua edeltävä järjestys

Nouseva järjestys

Kirjainkoon huomioon ottava järjestys

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Vaikka Nouseva järjestys -sarakkeen tulokset saattavat aluksi näyttää jonkin verran odottamattomilta, ne eivät kuitenkaan sellaisia ole. Nouseva järjestys -sarakkeessa a on ennen A:ta ja B ennen b:tä. Tämä johtuu siitä, että tekstiarvoja arvioitaessa A = a ja B = b kirjainkoosta riippumatta. Access ottaa huomioon arvojen alkuperäisen järjestyksen. Lajittelua edeltävä järjestys -sarakkeessa a on ennen A:ta ja B ennen b:tä.

Kirjainkoon huomioon ottavassa lajittelussa tekstiarvot korvataan niiden ASCII-arvoilla. Esimerkiksi A = 65, a = 97, B = 66, b = 98 jne.

VBA-koodin kirjoittaminen

  1. Luo VBA-moduuli ja kirjoita seuraava rivi määrittelyosaan, jos sitä ei vielä siinä ole:

    Option Explicit

  2. Kirjoita seuraava toimintosarja moduuliin Visual Basic Editorissa:

    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
    

    Edellä esitetty käyttäjän määrittämä StrToHex-funktio voidaan kutsua kyselystä. Välittäessäsi lajittelukentän nimen tähän funktioon, se lajittelee kenttien arvot kirjainkoon huomioon ottavaan järjestykseen.

  3. Luo nyt kysely, josta kutsut tätä funktiota.

    Valitse Luo-välilehden Kyselyt-ryhmässä Kyselyn rakennenäkymä.

  4. Valitse Lisää taulukoita (Näytä taulukko Accessissa).

  5. Vedä ruudukkoon lisättävät kentät.

  6. Kirjoita Kenttä-rivin ensimmäiseen tyhjään sarakkeeseen Expr1: StrToHex([SortField]).

    StrToHex on aiemmin luomasi käyttäjän määrittämä funktio. SortField on kirjainkoon huomioon ottavia arvoja sisältävän kentän nimi.

  7. Valitse Lajittelu-solussa Nouseva tai Laskeva.

    Jos valitset nousevan järjestyksen, isoilla kirjaimilla alkavat arvot näytetään ennen pienillä kirjaimilla alkavia arvoja. Laskevaan järjestykseen lajitteleminen lajittelee arvot päinvastaisella tavalla.

  8. Vaihda taulukkonäkymään.

    Access näyttää tietueet kirjainkoon huomioon ottavaan järjestykseen lajiteltuna.

Sivun alkuun

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.