Skille mellom små og store bokstaver ved sortering av poster

Obs!:  Vi ønsker å gi deg det nyeste hjelpeinnholdet så raskt som mulig, på ditt eget språk. Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig for deg nederst på denne siden? Her er den engelske artikkelen for enkel 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.

    Klikk på Spørringsutforming i Annet-gruppen på Opprett-fanen.

  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

Bli bedre på Office
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.

×