Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access zoradí záznamy vzostupne alebo zostupne bez ohľadu na prípad. Ak však napíšete niekoľko riadkov kódu v jazyku Visual Basic for Applications (VBA), môžete text zoradiť podľa hodnôt znakov ASCII. Zoradenie na základe hodnôt ASCII rozlišuje veľké písmená od malých písmen a výsledkom je rozlišovanie malých a veľkých písmen.

Nasledujúca tabuľka ukazuje, ako sa vzostupný spôsob zoradenia v Accesse líši od spôsobu zoradenia rozlišujúceho malé a veľké písmená:

Poradie pred zoradením

Vzostupné poradie

Poradie rozlišujúce veľké a malé písmená

c

z

A

Y

A

B

z

B

C

d

b

Y

B

c

z

C

C

b

A

Y

c

b

d

d

Napriek tomu, že výsledky v stĺpci Vzostupné poradie sa môžu spočiatku javiť ako nepredvídateľné, opak je pravdou. V stĺpci Vzostupné poradie je „a“ pred „A“ a „B“ sa zobrazí pred „b“. Dochádza k tomu, pretože pri vyhodnocovaní textových hodnôt platí, že „A“ = „a“ a „B“ = „b“, či už sú písmená malým alebo veľkým písmom. Access berie do úvahy pôvodné poradie hodnôt. V stĺpci Poradie pred zoradením je „a“ pred „A“ a „B“ je pred „b“.

Keď sa vykoná operácia zoradenia s rozlíšením veľkých a malých písmen, textové hodnoty sa nahradia ich hodnotami ASCII. Napríklad A = 65, a = 97, B = 66, b = 98 atď.

Písanie kódu VBA

  1. Vytvorte modul VBA a do sekcie deklarácií napíšte nasledujúci riadok, ak tam ešte nie je:

    Option Explicit

  2. Do modulu v programe Visual Basic Editor zadajte nasledujúci 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
    

    Predchádzajúcu používateľom definovanú funkciu StrToHex možno z dotazu volať. Keď do tejto funkcie odovzdáte názov poľa zoradenia, hodnoty poľa sa zoradia v poradí rozlišujúcom veľké a malé písmená.

  3. Teraz vytvorte dotaz, z ktorého túto funkciu zavoláte.

    Na karte Vytvoriť kliknite v skupine Dotazy na položku Návrh dotazu.

  4. Vyberte položku Pridať tabuľky (zobraziť tabuľku v Accesse).

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

  6. Do prvého prázdneho stĺpca v riadku Pole zadajte Expr1: StrToHex([SortField]).

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

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

    Ak vyberiete vzostupné poradie, hodnota začínajúca veľkými písmenami sa zobrazí pred tými, ktoré sa začínajú malými písmenami. Ak použijete zostupné zoradenie, výsledok bude opačný.

  8. Prepnite na údajové zobrazenie.

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

Na začiatok stránky

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.