Records sorteren in hoofdlettergevoelige sorteervolgorde

Opmerking: We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

TE000130076 sorteert records in oplopende of aflopende volg orde zonder rekening te houden met het hoofdletter gebruik. Als u echter een paar regels met VBA-code (Visual Basic for Applications) schrijft, kunt u de tekst op ASCII-teken waarden sorteren. Als u sorteert op basis van de ASCII-waarden, worden de hoofd letters uit de kleine letters onderscheiden en wordt het resultaat in hoofdletter gevoelige volg orde aangegeven.

In de volgende tabel ziet u hoe een oplopende sorteer volgorde in Access verschilt van een hoofdletter gevoelige sorteer volgorde:

Sorteer volgorde

OpLopende volg orde

Hoofdletter gevoelige orde v

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Hoewel de resultaten in de kolom opLopende volg orde in eerste instantie soms onvoorspelbaar worden weer gegeven, zijn ze niet. In de kolom opLopende volg orde wordt "a" weer gegeven voordat "A" en "B" wordt weer gegeven vóór "B". Dit komt doordat de evaluatie als tekst waarden, "A" = "A" en "B" = "b" of kleine letters of kleine letters. In Access wordt rekening gehouden met de oorspronkelijke volg orde van de waarden. In de kolom voor de sorteer volgorde wordt "a" voorafgegaan door "A" en "B" vóór "b".

Als het hoofdletter gevoelige Sorteer bewerking wordt uitgevoerd, worden de tekst waarden vervangen door de bijbehorende ASCII-waarden. Bijvoorbeeld A = 65, a = 97, B = 66, b = 98, enzovoort.

De VBA-code schrijven

  1. Maak een VBA-module en typ de volgende regel in de sectie declaraties, als dit nog niet is gebeurd:

Option Explicit

  1. Typ de volgende procedure in een module in de 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

    De voor gaande, door de gebruiker gedefinieerde functie, StrToHex, kan worden aangeroepen vanuit een query. Wanneer u de naam van het sorteer veld doorgeeft aan deze functie, worden de veld waarden in hoofdletter gevoelige volg orde gesorteerd.

  2. Maak nu een query van waaruit u deze functie wilt aanroepen.

    Klik op het tabblad Maken in de groep Overige op Queryontwerp .

  3. Klik in het dialoog venster tabel weer geven op de tabel die u wilt sorteren en klik vervolgens op toevoegen.

  4. Sleep de gewenste velden naar het raster.

  5. Typ in de eerste lege kolom in de rij veld de tekst Expr1: StrToHex([SortField]).

    StrToHex is de door de gebruiker gedefinieerde functie die u eerder hebt gemaakt. SortField is de naam van het veld dat de hoofdletter gevoelige waarden bevat.

  6. Klik in de cel sorteren op opLopend of aflopend.

    Als u een oplopende volg orde kiest, wordt de waarde die begint met hoofd letters weer gegeven voordat die begint met kleine letters. Wanneer u een aflopende volg orde toepast, wordt het tegenovergestelde gedaan.

  7. Schakel over naar de gegevens blad weergave.

    In Access worden de records weer gegeven, gesorteerd in hoofdletter gevoelige volg orde.

Naar boven

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×