Sortere poster med skelnen mellem store og små bogstaver i sorteringsrækkefølgen

Bemærk!:  Vi vil gerne give dig den mest opdaterede hjælp, så hurtigt vi kan, på dit eget sprog. Denne side er oversat ved hjælp af automatisering og kan indeholde grammatiske fejl og unøjagtigheder. Det er vores hensigt, at dette indhold skal være nyttigt for dig. Vil du fortælle os, om oplysningerne var nyttige for dig, nederst på denne side? Her er artiklen på engelsk så du kan sammenligne.

Microsoft Office Access 2007 sorterer poster i stigende eller faldende rækkefølge uden at skelne mellem store og små bogstaver, men ved hjælp af nogle få linjer VBA-kode (Visual Basic for Applications) kan du sortere tekst efter ASCII-tegnværdien. Ved sortering på ASCII-tegnværdien skelnes der mellem store og små bogstaver i sorteringsrækkefølgen.

Oplysningerne i den følgende tabel viser, hvordan stigende sorteringsrækkefølge i Access adskiller sig fra en sorteringsrækkefølge med skelnen mellem store og små bogstaver:

Rækkefølge før sortering

Stigende sorteringsrækkefølge

Store og små bogstaver orde 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

Selvom resultatet i kolonnen Stigende sorteringsrækkefølge ved første øjekast kan virke noget uforudsigeligt, er det ikke tilfældet. I kolonnen Stigende sorteringsrækkefølge kommer "a" før "A" og "B" før "b." Det skyldes, at når bogstaverne vurderes efter deres tekstværdi, er "A" = "a" og "B" = "b" uden forskel på store og små bogstaver. Access benytter derfor disse forekomsters oprindelige rækkefølge, når deres værdier i øvrigt er ens, og i kolonnen Rækkefølge før sortering forekommer "a" før "A" og "B" før "b".

Når der sorteres med skelnen mellem store og små bogstaver, erstattes bogstavernes tekstværdier med deres ASCII-værdier, f.eks. A = 65, a = 97, B = 66 og b = 98.

Skrive VBA-koden

  1. Opret et VBA-modul, og skriv følgende i sektionen Erklæringer, hvis det ikke allerede står der:

Option Explicit

  1. Skriv følgende procedure i et 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

    Ovenstående brugerdefinerede funktion, StrToHex, kan kaldes fra en forespørgsel. Når du videregiver navnet på sorteringsfeltet til denne funktion, sorteres feltværdierne med skelnen mellem store og små bogstaver.

  2. Opret nu en forespørgsel, der kalder denne funktion.

    Klik på Forespørgselsdesign i gruppen Andet under fanen Opret.

  3. Klik på den tabel, du vil sortere, i dialogboksen Vis tabel, og klik derefter på Tilføj.

  4. Træk de ønskede felter til gitteret.

  5. Skriv i den første tomme kolonne i rækken feltUdtryk1: StrToHex([sorteringsfelt]).

    StrToHex er den brugerdefinerede funktion, du oprettede tidligere. Sorteringsfelt er navnet på det felt, der indeholder de værdier, der skal sorteres efter med skelnen mellem store og små bogstaver.

  6. Klik på Stigende eller Faldende i cellen Sorter.

    Hvis du vælger stigende rækkefølge, vises store bogstaver før små bogstaver. Ved sortering i faldende rækkefølge er det modsatte tilfældet.

  7. Skift til dataarkvisning.

    Access viser posterne sorteret med skelnen mellem store og små bogstaver.

Toppen af siden

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×