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 store eller små bokstaver. Ved å skrive inn noen få linjer med Visual Basic for Applications (VBA)-kode, kan du sortere tekst ved ASCII tegnverdier. Sortering på grunnlag av ASCII-verdiene skiller stor bokstav fra små bokstaver og resultater i en sorteringsrekkefølge.

Tabellen nedenfor viser hvordan en stigende rekkefølge i Access er forskjellig fra en sorteringsrekkefølge:

Tradisjonell sorteringsrekkefølge

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 resultatene i stigende rekkefølge-kolonnen på første vises kanskje noe øyekast, ikke er det. I stigende rekkefølge-kolonnen vises "a" før "A" og "B" vises før "b". Dette skjer fordi når de evalueres som tekstverdier, "A" = "a" og "B" = "b", små eller store bokstaver. Access tar hensyn til den opprinnelige rekkefølgen til verdiene. I kolonnen gamle sorteringsrekkefølge "a" kommer før "A" og "B" kommer før "b".

Når det skilles sorteringen er utført, erstattes tekstverdiene med tilsvarende ASCII-verdier. For eksempel A = 65, en = 97, B = 66, b = 98, og så videre.

Skrive VBA-kode

  1. Opprette en VBA-modul, og Skriv inn følgende linje i deklarasjonsdel, hvis den ikke:

Alternativet eksplisitt

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

  2. Opprett en spørring som ringer denne funksjonen.

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

  3. I dialogboksen Vis tabell , klikker du tabellen som du vil sortere, og klikk deretter Legg til.

  4. Dra feltene du vil bruke i rutenettet.

  5. Skriv inn i den første tomme kolonnen, i felt -raden Uttrykk1: StrToHex([SortField]).

    StrToHex er brukerdefinert funksjon du opprettet tidligere. SortField er navnet på feltet som inneholder verdiene som små og store bokstaver.

  6. Klikk Stigende eller synkendei Sorter -cellen.

    Hvis du velger stigende rekkefølge, vises verdier som begynner med store bokstaver før verdier som begynner med små bokstaver. Bruke synkende rekkefølge sortering gjør motsatt.

  7. Bytt til dataarkvisning.

    Access viser postene, sortert i rekkefølge som skiller.

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.

×