Office
Prihlásenie

Zoradenie záznamov v poradí rozlišujúcom veľké a malé písmená

Poznámka:  Radi by sme vám čo najrýchlejšie poskytovali najaktuálnejší obsah Pomocníka vo vašom vlastnom jazyku. Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Dali by ste nám v dolnej časti tejto stránky vedieť, či boli pre vás tieto informácie užitočné? Tu nájdete anglický článok pre jednoduchú referenciu.

Program Microsoft Office Access 2007 zoraďuje záznamy vo vzostupnom alebo zostupnom poradí, a pritom nerozlišuje veľké a malé písmená. Pomocou niekoľkých riadkov kódu VBA (Visual Basic for Applications) však môžete zoradiť text podľa hodnôt znakov ASCII. Zoradenie na základe hodnôt ASCII rozlišuje medzi veľkými a malými písmenami a výsledkom bude poradie hodnôt rozlišujúce veľké a malé písmená.

Nasledujúca tabuľka zobrazuje, ako sa vzostupné zoradenie v programe Access odlišuje od zoradenia, ktoré rozlišuje veľké a malé písmená:

Poradie pred zoradením

Vzostupné poradie

Malé a veľké písmená 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

Hoci by sa výsledky v stĺpci Vzostupné poradie mohli na prvý pohľad zdať nepredvídateľné, nie je tomu tak. V stĺpci Vzostupné poradie sa písmeno „a“ vyskytuje skôr než písmeno „A“ a „B“ sa vyskytuje pred „b“. Ak sú totiž hodnoty vyhodnotené ako text, platí, že „A“ = „a“ a „B“ = „b“, a to bez ohľadu na veľkosť písmena. Program Access berie do úvahy pôvodné poradie hodnôt. V stĺpci Poradie pred zoradením sa písmeno „a“ vyskytuje skôr než „A“ a „B“ sa vyskytuje pred „b“.

Pri vykonaní operácie zoradenia, ktoré rozlišuje veľké a malé písmená, sa textové hodnoty nahradia ich hodnotami ASCII. Napríklad platí, že A = 65, a = 97, B = 66, b = 98, atď.

Písanie kódu VBA

  1. Vytvorte modul VBA a do sekcie Declarations zadajte nasledovný riadok (ak tam ešte neexistuje):

Option Explicit

  1. Zadajte nasledujúcu procedúru do modulu v programe 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

    Predchádzajúcu funkciu definovanú používateľom (StrToHex) je možné vyvolať pomocou dotazu. Keď do tejto funkcie pridáte názov zoraďovacieho poľa, zoradí hodnoty poľa spôsobom rozlišujúcim veľké a malé písmená.

  2. Teraz vytvorte dotaz, pomocou ktorého vyvoláte túto funkciu.

    Prejdite na kartu Vytvoriť v skupine Iné kliknite na položku Návrh dotazu.

  3. V dialógovom okne Zobrazenie tabuľky kliknite na tabuľku, ktorú chcete zoradiť, a potom kliknite na tlačidlo Pridať.

  4. Presuňte požadované polia do mriežky.

  5. V prvom prázdnom stĺpci v riadku pole zadajte Expr1: StrToHex()[ZoraďovaciePole]).

    StrToHex je funkcia definovaná používateľom, ktorú ste vytvorili predtým. ZoraďovaciePole je názov poľa, ktoré obsahuje hodnoty rozlišujúce veľké a malé písmená.

  6. V bunke Zoradiť kliknite na položku Vzostupne alebo Zostupne.

    Ak zvolíte vzostupné poradie, hodnoty začínajúce veľkými písmenami sa zobrazia pred hodnotami začínajúcimi malými písmenami. Pri použití zostupného poradia vykoná zoradenie presný opak.

  7. Prepnite sa do údajového zobrazenia.

    Program Access zobrazí záznamy zoradené v poradí rozlišujúcom veľké a malé písmená.

Na začiatok stránky

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×