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.

In Microsoft Office Access 2007 worden records in aflopende of oplopende volgorde gesorteerd, zonder dat er verschil wordt gemaakt tussen hoofdletters en kleine letters. Door slechts een paar regels VBA-code ( (Visual Basic for Applications)) toe te voegen kunt u tekst sorteren op de ASCII-tekenwaarden. Als u sorteert op basis van de ASCII-waarden, wordt er verschil gemaakt tussen hoofdletters en kleine letters, waardoor u een hoofdlettergevoelige sorteervolgorde verkrijgt.

In de volgende tabel wordt getoond hoe een oplopende sorteervolgorde in Access verschilt van een hoofdlettergevoelige sorteervolgorde:

Oorspronkelijke volgorde

Oplopende volgorde

Hoofdlettergevoelige 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

Hoewel de resultaten in de kolom Oplopende volgorde op het eerste gezicht onvoorspelbaar lijken, is dat toch niet het geval. In de kolom Oplopende volgorde wordt "a" voor "A" en " B" voor "b" gerangschikt. Dit komt omdat de items als tekstwaarden worden geëvalueerd: "A" = "a" en "B" = "b", ongeacht de hoofdletters of kleine letters. Access houdt rekening met de oorspronkelijke volgorde van de waarden. In de kolom Oorspronkelijke volgorde wordt "a" voor "A" en "B" voor "b" gerangschikt.

Bij een hoofdlettergevoelige sorteervolgorde worden de tekstwaarden vervangen door de desbetreffende ASCII-waarden. Bijvoorbeeld, A = 65, a = 97, B = 66, b = 98, enzovoort.

De VBA-code schrijven

  1. Maak een VBA-module aan en typ de volgende regel in de declaratiesectie als dat nog niet is gebeurd:

Option Explicit

  1. Typ de volgende procedure in een Visual Basic Editor-module:

    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 voorgaande door de gebruiker gedefinieerde functie StrToHex kan vanuit een query worden opgeroepen. Als u de naam van het sorteerveld doorgeeft aan deze functie, worden de veldwaarden in de hoofdlettergevoelige volgorde gesorteerd.

  2. Maak nu een query aan, waarin u deze functie oproept.

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

  3. Klik in het dialoogvenster Tabel weergeven op de tabel die u wilt sorteren. Klik vervolgens op Toevoegen.

  4. Sleep de velden die u wilt toevoegen naar het raster.

  5. Typ in de eerste lege kolom, in de rij veldExpr1: StrToHex([sorteerveld]).

    StrToHex is de door de gebruiker gedefinieerde functie die u eerder hebt gemaakt. SortField is de naam van het veld met de hoofdlettergevoelige waarden.

  6. Klik op Oplopend of Aflopend in de cel Sorteren.

    Als u de oplopende volgorde kiest, worden de waarden die met hoofdletters beginnen weergegeven voor de waarden die met een kleine letter beginnen. Een aflopende volgorde doet het omgekeerde.

  7. Schakel over naar de databasebladweergave.

    In Access worden de records in de hoofdlettergevoelige sorteervolgorde weergegeven.

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-ondersteuningsagents.

×