Sortiranje zapisa redoslijedom koji razlikuje velika i mala slova

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Microsoft Office Access 2007 sortira zapise uzlaznim ili silaznim redoslijedom bez obzira na velika i mala slova. Međutim, korištenjem nekoliko redaka Visual Basic for Applications (VBA) programskog koda, tekst možete sortirati prema njegovim vrijednostima ASCII znakova. Sortiranje temeljeno na ASCII vrijednostima razlikuje velika i mala slova te rezultira redoslijedom koji ih razlikuje.

U sljedećoj tablici prikazano je kako se uzlazni redoslijed sortiranja u programu Access razlikuje od redoslijeda sortiranja koje razlikuje velika i mala slova:

Redoslijed prije sortiranja

Uzlazni redoslijed

Orde velika i mala slova 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

Iako se rezultati stupca Uzlazni redoslijed isprva mogu činiti nepredvidljivima, oni to nisu. U stupcu Uzlazni redoslijed, "a" dolazi prije "A", a "B" dolazi prije "b". Ovo je zbog toga što su, kada se vrednuju kao tekstualne vrijednosti, "A" = "a" i "B" = "b" bez obzira na velika i mala slova. Access uzima u obzir izvorni redoslijed vrijednosti. U stupcu redoslijeda prije sortiranja, "a" prethodi "A" i "B" prethodi "b".

Prilikom izvođenja operacije koja razlikuje velika i mala slova, tekstualne vrijednosti zamjenjuju se svojim ASCII vrijednostima. Na primjer A = 65, a = 97, B = 66, b = 98 i tako dalje.

Pisanje VBA programskog koda

  1. Stvorite VBA modul i u sekciju Deklaracije upišite sljedeći redak, ako se tamo već ne nalazi:

Option Explicit

  1. U modul u aplikaciji Visual Basic Editor upišite sljedeću proceduru:

    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 može se pozvati iz upita. Kad ovoj funkciji proslijedite naziv polja sortiranja, vrijednosti polja sortirat će redoslijedom koji razlikuje velika i mala slova.

  2. Sada stvorite upit iz kojega ćete pozivati ovu funkciju.

    Na kartici Stvaranje u grupi Ostalo pritisnite Dizajn upita.

  3. U dijaloškom okviru Prikaz tablice pritisnite tablicu koju želite sortirati i zatim pritisnite Dodaj.

  4. Povucite željena polja u rešetku.

  5. U prvom praznom stupcu, u retku polje upišite Izraz1: StrToHex([SortField]).

    StrToHex korisnički je definirana funkcija koju ste stvorili ranije. SortField je naziv polja s vrijednostima koje razlikuju velika i mala slova.

  6. U ćeliji Redoslijed pritisnite Uzlazno ili Silazno.

    Odaberete li uzlazni redoslijed, vrijednost koja započinje velikim slovima pojavit će se prije onih koje započinju malim slovima. Primjenom silaznog redoslijeda sortiranja postiže se suprotno.

  7. Prijeđite u prikaz podatkovne tablice.

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

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×