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

Access sorterer poster i stigende eller synkende rekkefølge uten hensyn til sak. Ved å skrive noen få linjer med koden Visual Basic for Applications (VBA), kan du imidlertid sortere tekst etter tegnverdiene i ASCII. Sortering på grunnlag av verdiene i ASCII skiller mellom store og små bokstaver, og resulterer i en rekkefølge som skiller mellom store og små bokstaver.

Tabellen under viser hvordan en stigende sorteringsrekkefølge i Access varierer fra sorteringsrekkefølgen som skiller mellom store og små bokstaver:

Sorteringsrekkefølge

Stigende rekkefølge

Sortere etter store og små bokstaver

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 resultatene i kolonnen Stigende rekkefølge i begynnelsen kan virke litt utforutsigbare, er de ikke det. I kolonnen Stigende rekkefølge vises «a» før «A» og «B» vises før «b». Dette skjer fordi når de evalueres som tekstverdier, er "A" = "a" og "B" = "b," uansett om de er små eller store bokstaver. Access tar hensyn til den opprinnelige rekkefølgen av verdiene. I kolonnen for forhåndssorteringsrekkefølge står «a» foran «A» og «B» foran «b».

Når sorteringen som skiller mellom store og små bokstaver utføres, erstattes tekstverdiene med verdiene i ASCII. For eksempel A = 65, a = 97, B = 66, b = 98 og så videre.

Skriv inn VBA-koden

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

    Option Explicit

  2. Skriv inn følgende prosedyre i en modul i Visual Basic Editor:

    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 foregående brukerdefinerte funksjonen, StrToHex, kan kalles fra en spørring. Når du sender navnet på sorteringsfeltet til denne funksjonen, sorteres feltverdiene i rekkefølge som skiller mellom store og små bokstaver.

  3. Nå kan du opprette en spørring som du vil kalle denne funksjonen.

    I fanen Opprett i gruppen Spørringer, klikker du på Spørreutforming.

  4. Velg Legg til tabeller (Vis tabell i Access).

  5. Dra feltene du vil ha i rutenettet.

  6. I den første tomme kolonnen i raden Felt skriver du Uttr1: StrToHex([SortField]).

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

  7. I cellen Sorter, klikker du på Stigende eller Synkende.

    Hvis du velger stigende rekkefølge, vises verdier som begynner med store bokstaver før de som begynner med små bokstaver. Det motsatte er å bruke en synkende rekkefølge.

  8. Bytte en dataarkvisning.

    Access viser postene som er sortert i rekkefølge som skiller mellom store og små bokstaver.

Til toppen av siden

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.