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

Access zapise sortira uzlaznim ili silaznim redoslijedom bez obzira na velika i mala slova. No pisanjem nekoliko redaka koda programa Visual Basic for Applications (VBA) tekst možete sortirati prema vrijednostima ASCII znakova. Sortiranje na temelju ASCII vrijednosti razlikuje velika slova od malih slova, a rezultati razlikuju velika i mala slova.

Sljedeća tablica pokazuje kako se uzlazni redoslijed sortiranja u programu Access razlikuje od redoslijeda sortiranja koji razlikuje velika i mala slova:

Redoslijed prije sortiranja

Uzlazni redoslijed

Redoslijed razlikovanog velikih i malih slova

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Iako se rezultati u stupcu Uzlazni redoslijed mogu prikazati donekle nepredvidljivi, nisu. U stupcu Uzlazni redoslijed ispred "b" pojavit će se "a" i "B". To se događa jer, kada se vrednuju kao tekstne vrijednosti, "A" = "a" i "B" = "b", bez obzira na to jesu li mala ili velika. Access uzima u obzir izvorni redoslijed vrijednosti. U stupcu Unaprijed sortiraj redoslijed "a" prethodi "A" i "B" ispred "b".

Kada se provodi operacija sortiranja koja razlikuje velika i mala slova, tekstne vrijednosti zamjenjuju se njihovim ASCII vrijednostima. Na primjer, A = 65, a = 97, B = 66, b = 98 itd.

Pisanje VBA koda

  1. Stvorite VBA modul i upišite sljedeći redak u odjeljak Deklaracije ako ga već nema:

    Option Explicit

  2. U modul u visual Basic Editor upišite sljedeći postupak:

    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
    

    Prethodna korisnički definirana funkcija, StrToHex, može se pozvati iz upita. Kada funkciji proslijedite naziv polja za sortiranje, on će sortirati vrijednosti polja u redoslijedu koji razlikuje velika i mala slova.

  3. Sada stvorite upit iz kojeg ćete nazvati ovu funkciju.

    Na kartici Stvaranje u grupi Upiti kliknite Dizajn upita.

  4. Odaberite Dodaj tablice (Prikaži tablicu u programu Access).

  5. Povucite željena polja u rešetku.

  6. U prvi prazan stupac u retku Polje upišiteIzraz1: StrToHex([SortField]).

    StrToHex je korisnički definirana funkcija koju ste prethodno stvorili. SortField naziv je polja koje sadrži vrijednosti koje razlikuju velika i mala slova.

  7. U ćeliji Sortiranje kliknite Uzlaznoili Silazno.

    Ako odaberete uzlazni redoslijed, vrijednost koja počinje velikim slovima pojavit će se ispred onih koji počinju malim slovima. Primjena silaznog sortiranja čini suprotno.

  8. Prijeđite u prikaz podatkovne tablice.

    Access prikazuje zapise sortirane redoslijedom koji razlikuje velika i mala slova.

Vrh stranice

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.