Sortera poster i skiftlägeskänslig ordning

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

I Microsoft Office Access 2007 sorteras posterna i stigande eller fallande ordning utan hänsyn till skiftläget. Genom att skriva några rader VBA-kod (Visual Basic for Applications) kan du emellertid sortera texten efter ASCII-tecknens värden. Om du gör detta skiljer sorteringen mellan versaler och gemener, vilket ger en skiftlägeskänslig ordning.

I tabellen nedan beskrivs hur en stigande sorteringsordning i Access skiljer sig från en skiftlägeskänslig sorteringsordning:

Ordning före sortering

Stigande ordning

Skiftlägeskänslig orde r

c

a

A

D

MVG

VG

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Även om resultatet i kolumnen Stigande ordning vid första anblicken verkar vara slumpmässig, är den inte det. I kolumnen Stigande ordning visas "a" före "A" och "B" visas före "b". Det sker eftersom sorteringsfunktionen tolkar "A" = "a" och "B" = "b", oavsett om det är gemener eller versaler. Access tar hänsyn till värdenas ursprungliga ordning. I kolumnen Ordning före sortering visas "a" före "A" och "B" visas före "b".

När den skiftlägeskänsliga åtgärden utförs, byts textvärdena ut mot ASCII-värdena. Då är A = 65, a = 97, B = 66, b = 98 och så vidare.

Skriv VBA-koden

  1. Skapa en VBA-modul och skriv följande rad i deklarationsavsnittet om den inte redan finns där:

Option Explicit

  1. Skriv följande procedur 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 användardefinierade funktionen ovan, StrToHex, kan anropas från en fråga. När du skickar namnet på sorteringsfältet till den här funktionen, sorteras fältvärdena i skiftlägeskänslig ordning.

  2. Nu ska du skapa en fråga som du anropar funktionen från.

    Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

  3. Klicka i dialogrutan Visa tabell på tabellen som du vill sortera och sedan på Lägg till.

  4. Dra önskade fält till rutnätet.

  5. I den första tomma kolumnen i raden fält skriver Uttryck1: StrToHex([SortField]).

    StrToHex är den användardefinierade funktionen som du skapade tidigare. SortField är namnet på fältet som innehåller de skiftlägeskänsliga värdena.

  6. Klicka på Stigande eller Fallande i cellen Sortera.

    Om du väljer stigande ordning visas värden som inleds med versaler före de som inleds med gemener. Det motsatta gäller om du använder fallande ordning.

  7. Växla till databladsvyn.

    Posterna visas i skiftlägeskänslig ordning.

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×