Skille mellom små og store bokstaver ved sortering av poster

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Microsoft Office Access 2007 sorterer poster i stigende eller synkende rekkefølge uten hensyn til små og store bokstaver. Ved å skrive noen få linjer med VBA-kode (Visual Basic for Applications) kan du sortere tekst etter deres ASCII-tegnverdier. Sortering på grunnlag av ASCII-verdier resulterer i en sorteringsrekkefølge som skiller mellom små og store bokstaver.

Tabellen nedenfor viser forskjellene mellom en stigende sorteringsrekkefølge og en sorteringsrekkefølge som skiller mellom små og store bokstaver:

Rekkefølge før sortering

Stigende rekkefølge

Små og store bokstaver Elementhistorikk r

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Selv om resultatet i kolonnen Stigende rekkefølge kanskje ser litt tilfeldig ut ved første øyekast, er det ikke det. I denne kolonnen vises "a" før "A" og " B" før "b." Det skjer fordi "A" = "a" og "B" = "b" når de evalueres som tekstverdier, små eller store bokstaver har ingen betydning. Access tar i betraktning den opprinnelige rekkefølgen til verdiene. I kolonnen Rekkefølge før sortering kommer "a" før "A" og "B" før "b."

Når sorteringsoperasjonen som skiller mellom små og store bokstaver utføres, blir tekstverdiene erstattet med tilsvarende ASCII-verdier. For eksempel A = 65, a = 97, B = 66, b = 98 og så videre.

Skrive VBA-koden

  1. Opprett en VBA-modul, og skriv inn følgende linje i deklarasjonsdelen hvis den ikke allerede finnes der:

Option Explicit

  1. Skriv inn følgende prosedyre i en modul i Visual Basic-redigering:

    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

    Den brukerdefinerte funksjonen StrToHex ovenfor, kan kalles fra en spørring. Når du sender navnet på sorteringsfeltet til denne funksjonen, sorteres feltverdiene i rekkefølge som skiller mellom små og store bokstaver.

  2. Opprett deretter en spørring som funksjonen skal kalles fra.

    Velg kategorien Opprett, gruppen Annet, og klikk Spørringsutforming.

  3. I dialogboksen Vis tabell klikker du tabellen du vil sortere, og deretter klikker du Legg til.

  4. Dra feltene du vil bruke, til rutenettet.

  5. Skriv inn i den første tomme kolonnen, i felt-raden Uttrykk1: StrToHex([SortField]).

    StrToHex er den brukerdefinerte funksjonen du opprettet tidligere. SortField er navnet på feltet som inneholder verdiene som skiller mellom små og store bokstaver.

  6. Klikk Stigende eller Synkende i sorteringscellen.

    Hvis du velger stigende rekkefølge, vises verdier som begynner med stor bokstav før verdier som begynner med liten bokstav. Hvis du velger synkende rekkefølge, vises verdiene i motsatt rekkefølge.

  7. Bytt til dataarkvisning.

    Postene vises i rekkefølge som skiller mellom små og store bokstaver.

Til toppen av siden

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×