Sortiranje zapisa po redosledu koji razlikuje mala i velika slova

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Microsoft Office Access 2007 sortira zapise po rastućem i opadajućem redosledu bez obzira na veličinu slova. Međutim, ako napišete nekoliko redova VBA koda (Visual Basic for Applications), tekst možete da sortirate po ASCII vrednostima znakova. Sortiranje koje se zasniva na ASCII vrednostima razlikuje velika slova od malih, što za rezultat ima redosled koji razlikuje mala i velika slova.

U sledećoj tabeli je prikazana razlika između sortiranja po rastućem redosledu i sortiranja po redosledu koji razlikuje mala i velika slova u programu Access:

Redosled pre sortiranja

Rastući redosled

Mala i velika slova Ord 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

Rezultati u koloni „Rastući redosled“ mogu se predvideti, iako se na prvi pogled može učiniti da to nije moguće. U toj koloni se „a“ pojavljuje pre „A“, a slovo „B“ pre „b“. To se dešava zbog toga što je u slučaju tekstualnih vrednosti „A“ = „a“, a „B“ = „b“, bilo da su u pitanju velika ili mala slova. Access uzima u obzir prvobitni redosled vrednosti. U koloni „Redosled pre sortiranja“ slovo „a“ prethodi slovu „A“, a „B“ prethodi slovu „b“.

Kada se izvrši operacija sortiranja po redosledu koji razlikuje mala i velika slova, tekstualne vrednosti se zamenjuju odgovarajućim ASCII vrednostima. Na primer, A = 65, a = 97, B = 66, b = 98 itd.

Pisanje VBA kôda

  1. Kreirajte VBA modul i upišite sledeći red u odeljak sa deklaracijama, ukoliko on već ne postoji:

Option Explicit

  1. U programu Visual Basic Editor upišite sledeću proceduru u modul:

    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 definisana funkcija „StrToHex“ može se pozvati iz upita. Kada se ime polja za sortiranje prosledi ovoj funkciji, vrednosti polja će se sortirati po redosledu koji razlikuje mala i velika slova.

  2. Sada kreirajte upit iz koga ćete pozvati ovu funkciju.

    Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Dizajn upita.

  3. U dijalogu Prikazivanje tabele izaberite tabelu koju želite da sortirate, a zatim kliknite na dugme Dodaj.

  4. Prevucite željeno polje u koordinatnu mrežu.

  5. U prvoj praznoj koloni, u redu polje otkucajte Expr1: StrToHex()[PoljeZaSortiranje]).

    „StrToHex“ predstavlja korisnički definisanu funkciju koju ste prethodno kreirali. „PoljeZaSortiranje“ jeste ime polja koje sadrži vrednosti koje razlikuju mala i velika slova.

  6. U ćeliji Sortiranje izaberite stavku Rastući redosled ili Opadajući redosled.

    Ukoliko ste odabrali rastući redosled, vrednost koja počinje velikim slovima pojaviće se pre onih koje počinju malim slovima. Ako primenite opadajući redosled, situacija će biti obrnuta.

  7. Prebacite se na prikaz lista sa podacima

    Access će prikazati zapise sortirane po redosledu koji razlikuje mala i velika slova.

Vrh stranice

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×