Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Access Řazení záznamů vzestupně nebo sestupně bez ohledu na případy. Pokud ale napíšete několik řádků kódu jazyka Visual Basic for Applications (VBA), můžete text seřadit dle hodnot znaků ASCII. Řazení podle hodnot ASCII rozlišuje velká a malá písmena a výsledkem řazení na základě rozlišování malých a velkých písmen.

Následující tabulka ukazuje, jak se vzestupné pořadí řazení v Accessu liší od pořadí řazení dle rozlišování malých a velkých písmen:

Pořadí před řazením

Vzestupné pořadí

Řazení s rozlišením velkých a malých písmen

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

I když se výsledky ve sloupci vzestupného pořadí můžou zepředu zdát poněkud nepředvídatelné, nejsou. Ve sloupci vzestupného pořadí se „a“ zobrazí před „A“ a „B“ před „b“. Dochází k tomu proto, že při vyhodnocení jako textových hodnot „A“ = „a“ a „B“ = „b“, ať už jde o malá nebo velká písmena. Access bere v úvahu původní pořadí hodnot. Ve sloupci Pořadí před řazením „a“ předchází „A“ a „B“ předchází „b“.

Při operaci řazení s rozlišováním malých a velkých písmen se textové hodnoty nahradí hodnotami ASCII. Příklad: A = 65, a = 97, B = 66, b = 98 atd.

Psaní kódu jazyka VBA

  1. Vytvořte modul VBA a v části Deklarace zadejte následující řádek (pokud tam ještě není):

    Option Explicit

  2. Do modulu ve Visual Basic Editor zadejte následující postup:

    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

    Předchozí uživatelem definovaná funkce StrToHex můžete volat z dotazu. Když předáte název pole řazení této funkci, seřadí hodnoty polí rozlišováním malých a malých písmen.

  3. Teď vytvořte dotaz, ze kterého budete tuto funkci volat.

    Na kartě Vytvoření klikněte ve skupině Dotazů na tlačítko Návrh dotazu.

  4. Vyberte Přidat tabulky (Zobrazit tabulku v Access 2013).

  5. Přetáhněte pole, která chcete přidat, do mřížky.

  6. V prvním prázdném sloupci zadejte do řádku FieldExpr1: StrToHex([SortField]).

    StrToHex je uživatelem definovaná funkce, kterou jste vytvořili dříve. SortField je název pole, které obsahuje hodnoty rozlišující malých a velkých písmen.

  7. V buňce Seřadit klikněte na Vzestupně nebo Sestupně.

    Pokud zvolíte vzestupné pořadí, zobrazí se hodnota začínající velkým písmenem před hodnotou začínající malých písmenem. Použití sestupného řazení dělá opak.

  8. Přepnout na zobrazení Datový list.

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

Začátek stránky

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

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

×