Řazení záznamů s rozlišováním velkých a malých písmen

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Aplikace Microsoft Office Access 2007 řadí záznamy vzestupně nebo sestupně bez ohledu na velká a malá písmena. Po vytvoření několika řádků kódu v jazyce Visual Basic for Applications (VBA) lze text řadit podle hodnot znaků ASCII. Při řazení na základě hodnot ASCII se rozlišují velká písmena od malých a výsledkem je pořadí s rozlišením velkých a malých písmen.

Následující tabulka znázorňuje, jak se vzestupné řazení v aplikaci Access liší od řazení s rozlišením velkých a malých písmen:

Pořadí před řazením

Vzestupné řazení

Velká a malá písmena objednávek 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

Ačkoli se mohou výsledky ve sloupci Vzestupné řazení jevit jako poněkud nepředvídatelné, není tomu tak. Ve sloupci Vzestupné řazení se „a“ zobrazuje před „A“ a „B“ před „b“. K tomu dochází proto, že při vyhodnocování textových hodnot platí „A“ = „a“ a „B“ = „b“ bez ohledu na to, zda se jedná o malá nebo velká písmena. Aplikace Access bere v úvahu původní pořadí řazení. Ve sloupci Pořadí před řazením „a“ předchází „A“ a „B“ předchází „b“.

Při provádění operace řazení s rozlišováním velkých a malých písmen jsou textové hodnoty nahrazeny hodnotami ASCII. Například A = 65, a = 97, B = 66, b = 98 atd.

Vytvoření kódu v jazyce VBA

  1. Vytvořte modul v jazyce VBA a do sekce Declarations zadejte následující řádek, pokud tam již není uveden:

Option Explicit

  1. Do modulu zadejte v editoru jazyka Visual Basic následující proceduru:

    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

    Tuto uživatelem definovanou funkci StrToHex lze volat z dotazu. Při předání názvu pole pro řazení do této funkce budou hodnoty pole řazeny s rozlišováním velkých a malých písmen.

  2. Nyní vytvořte dotaz, ze kterého budete volat tuto funkci.

    Ve skupině Jiné na kartě Vytvořit klikněte na Návrh dotazu.

  3. V dialogovém okně Zobrazit tabulku klepněte na tabulku, kterou chcete řadit, a pak klepněte na tlačítko Přidat.

  4. Přetáhněte požadovaná pole do mřížky.

  5. Do prvního prázdného sloupce v řádku pole zadejte Výraz1: StrToHex([Pole_pro_řazení]).

    StrToHex představuje dříve vytvořenou uživatelem definovanou funkci. Pole_pro_řazení představuje název pole obsahujícího hodnoty, u kterých je třeba rozlišovat velká a malá písmena.

  6. V buňce Seřadit klepněte na položku Vzestupně nebo Sestupně.

    Zvolíte-li vzestupné pořadí, zobrazí se hodnoty začínající velkými písmeny před hodnotami začínajícími malými písmeny. Při použití sestupného pořadí je tomu naopak.

  7. Přepněte do zobrazení datového listu.

    Aplikace Access zobrazí záznamy seřazené s rozlišením velkých a malých písmen.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×