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 hensyn til store og små bogstaver. Ved at skrive et par linjer af Visual Basic for Applications (VBA) kode, kan du dog sortere tekst efter dens ASCII-tegnværdier. Sortering på grundlag af ASCII-værdierne, der adskiller de store bogstaver fra små bogstaver og resultater i en rækkefølge, store og små bogstaver.

Den følgende tabel viser, hvordan i stigende sorteringsrækkefølge i Access adskiller sig fra en sorteringsrækkefølge:

Foreløbig sorteringsrækkefølge

Stigende ræ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 resultaterne i kolonnen stigende rækkefølge i første omgang vises muligvis smule uventede, er de ikke. I kolonnen stigende rækkefølge vises "en" før "A" og "B" vises før "b". Dette sker, fordi, når evalueres som tekstværdier, "A" = "en" og "B" = "b", uanset om små eller store bogstaver. Access tager højde for den oprindelige rækkefølgen af værdierne. I kolonnen foreløbig sorteringsrækkefølge "en" står foran "A" og "B" står foran "b".

Når der udføres på store og små bogstaver sorteringshandling, erstattes tekstværdierne med deres ASCII-værdier. For eksempel A = 65, en = 97, B = 66 og b = 98, og så videre.

Skrive VBA-kode

  1. Oprette et VBA-modul og skrive følgende linje i sektionen erklæringer, hvis den ikke allerede findes:

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

    Den foregående brugerdefineret funktion, StrToHex, kan kaldes fra en forespørgsel. Når du overfører navnet på sorteringsfeltet til denne funktion, skal den sortere feltværdier i store og små bogstaver rækkefølge.

  2. Opret nu en forespørgsel, hvorfra du vil ringe til 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 derefter klikke 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, store og små bogstaver.

  6. Klik på stigende eller faldendei cellen Sorter .

    Hvis du vælger stigende rækkefølge, vises værdi, der begynder med store bogstaver før dem, der starter med små bogstaver. Anvende en sortering i faldende rækkefølge rækkefølge gør modsat.

  7. Skift til dataarkvisning.

    Access viser posterne sorteret med skelnen.

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.

×