Pristup sortira zapise rastućim ili opadajućim redosledom bez obzira na mala i velika slova. Međutim, pisanjem nekoliko redova Visual Basic for Applications (VBA) koda možete da sortirate tekst po vrednostima ASCII znakova. Sortiranje na osnovu ASCII vrednosti razlikuje velika slova od malih slova i daje redosled koji razlikuje velika i mala slova.
Sledeća tabela pokazuje kako se rastući redosled sortiranja u programu Access razlikuje od redosleda sortiranja koji razlikuje mala i velika slova:
Redosled pre sortiranja |
Rastući redosled |
Redosled koji razlikuje mala i velika 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 rezultati u koloni Rastući redosled u početku mogu da se pojave donekle nepredvidivi, oni nisu. U koloni Rastući redosled, "a" se pojavljuje pre nego što se "A" i " B" pojave pre "b". Do toga dolazi zato što, kada se procene kao tekstualne vrednosti, "A" = "a" i "B" = "b", bez obzira na to da li su mala ili velika. Access uzima u red prvobitnog redosleda vrednosti. U koloni Redosled pre sortiranja, "a" prethodi "A" i "B" prethodi "b".
Kada se izvrši operacija sortiranja koja razlikuje mala i velika slova, tekstualne vrednosti se zamenjuju NJIHOVIM ASCII vrednostima. Na primer, A = 65, a = 97, B = 66, b = 98 i tako dalje.
Pisanje VBA koda
-
Kreirajte VBA modul i otkucajte sledeći red u odeljku "Deklaracije", ako već nije tamo:
Option Explicit
-
Otkucajte sledeću proceduru u modulu u programu 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
Prethodnu korisnički definisanu funkciju StrToHex možete pozvati iz upita. Kada ovoj funkciji dodate ime polja za sortiranje, ona će sortirati vrednosti polja po redosledu koji razlikuje mala i velika slova.
-
Sada kreirajte upit iz kojeg ćete pozvati ovu funkciju.
Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.
-
Izaberite stavku Dodaj tabele (Prikaži tabelu u programu Access).
-
Prevucite željena polja u koordinatnu mrežu.
-
U prvoj praznoj koloni, u redu Polje otkucajte Izraz1: StrToHex([Polje sortiranja]).
StrToHex je korisnički definisana funkcija koju ste ranije kreirali. Polje za sortiranje je ime polja koje sadrži vrednosti koje razlikuju mala i velika slova.
-
U ćeliji Sortiranje izaberite stavku Rastući redosled ili Opadajući redosled.
Ako odaberete rastući redosled, vrednost koja počinje velikim slovima pojaviće se pre onih koji počinju malim slovima. Primena sortiranja opadajućim redosledom radi suprotno.
-
Prebacivanje na prikaz lista sa podacima.
Access prikazuje zapise sortirane po redosledu koji razlikuje mala i velika slova.