Tietueiden lajitteleminen kirjainkoon mukaan

Tärkeää: Tämä on artikkeli on käännetty koneellisesti. Lue vastuuvapauslauseke. Tämän artikkelin englanninkielinen versio on täällä .

Microsoft Office Access 2007 lajittelee tietueet nousevaan tai laskevaan järjestykseen kirjainkokoa huomioon ottamatta. Muutamalla VBA (Visual Basic for Applications) -koodirivillä voit kuitenkin lajitella tekstin ASCII-merkkiarvojen mukaan. Kun lajitteluperusteena käytetään ASCII-arvoja, suurilla ja pienillä kirjaimilla kirjoitetut arvot erotellaan toisistaan ja kohteet lajitellaan kirjainkoon huomioon ottavaan lajittelujärjestykseen.

Seuraavassa taulukossa havainnollistetaan, kuinka nouseva lajittelujärjestys ja lajittelu kirjainkoon mukaan eroavat toisistaan Accessissa:

Järjestys ennen lajittelua:

Nouseva järjestys:

Kirjainkoon huomioon Kohdehistoria r

c

a

A

D

A:

S

a

S

M

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Vaikka Nouseva järjestys -sarakkeen tulokset voivat vaikuttaa melko satunnaisilta, ne eivät sitä kuitenkaan ole. Nouseva järjestys -sarakkeessa merkki a tulee ennen merkkiä A ja merkki B ennen merkkiä b. Tämä toteutuu, koska tekstiarvoina A = a ja B = b kirjainkoosta huolimatta. Access ottaa arvojen alkuperäisen järjestyksen huomioon, ja Järjestys ennen lajittelua -sarakkeessa merkki a edeltää merkkiä A ja merkki B merkkiä b.

Kun kirjainkoon huomioon ottava lajittelu suoritetaan, tekstiarvot korvataan niiden ASCII-arvoilla. Esimerkiksi A = 65, a = 97, B = 66, b = 98 ja niin edelleen.

VBA-koodin kirjoittaminen

  1. Luo VBA-moduuli ja kirjoita määrittelyosaan seuraava rivi, jos se ei ole valmiiksi määrittelyosassa:

Option Explicit

  1. Kirjoita seuraava koodi Visual Basic Editorin moduuliin:

    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

    Tämän käyttäjän määrittämän StrToHex-funktion voi kutsua kyselystä. Kun lajittelukentän nimi välitetään tälle funktiolle, kenttien arvot lajitellaan kirjainkoko huomioon ottaen.

  2. Seuraavaksi luodaan kysely, josta tämä funktio kutsutaan.

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

  3. Napsauta Näytä taulukko -valintaikkunassa taulukkoa, joka on tarkoitus lajitella, ja valitse Lisää.

  4. Vedä haluamasi kentät ruudukkoon.

  5. Kirjoita ensimmäisen tyhjän sarakkeen kenttä -riville Lauseke1: StrToHex([lajittelukenttä]).

    StrToHex on aiemmin luotu käyttäjän määrittämä funktio. Lajittelukenttä on sen kentän nimi, joka sisältää kirjainkoon huomioon ottavat arvot.

  6. Valitse Lajittelu-solussa Nouseva tai Laskeva.

    Jos valitset nousevan järjestyksen, suurella kirjaimella alkava arvo näkyy ennen pienillä kirjaimilla alkavia arvoja. Jos valitset laskevan järjestyksen, tapahtuu päinvastoin.

  7. Siirry taulukkonäkymään.

    Access näyttää tietueet lajiteltuina siten, että kirjainkoko on otettu huomioon.

Sivun alkuun

Huomautus: Konekäännöksestä ilmoittava vastuusvapauslauseke: Tämä artikkeli on käännetty tietokonejärjestelmällä, eikä kieliasiantuntija ole muokannut sitä. Microsoft tarjoaa nämä konekäännökset avuksi muille kuin englantia puhuville käyttäjille, jotta he saavat lisätietoja Microsoftin tuotteista, palveluista ja tekniikoista. Koska artikkeli on koneellisesti käännetty, se saattaa sisältää sanasto-, lauseoppi- ja kielioppivirheitä.

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×