Napomena: Željeli bismo vam pružiti najnoviji sadržaj pomoći što je brže moguće i to na vašem jeziku. Ova je stranica strojno prevedena te može sadržavati gramatičke pogreške ili netočnosti. Naša je namjera da vam ovaj sadržaj bude koristan. Možete li nam pri dnu ove stranice javiti jesu li vam ove informacije bile korisne? Kao referencu možete pogledati i članak na engleskom jeziku.
Microsoft Office Access 2007 sortira zapise uzlaznim ili silaznim redoslijedom bez obzira na to slučaj. Međutim, pisanjem nekoliko redaka Visual Basic for Applications (VBA) kod tekst možete sortirati prema njegovim vrijednostima ASCII znakova. Sortiranje temeljeno na ASCII vrijednostima razlikuje velika slova s malim slovima i rezultata redoslijedom velika i mala slova.
Sljedeća tablica pokazuje kako uzlazni redoslijed sortiranja u programu Access razlikuje se od velika i mala slova sortiranja:
Unaprijed redoslijed sortiranja | Uzlaznim redoslijedom | 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 rezultate u stupcu uzlazni redoslijed činiti nepredvidljivima, nisu. U stupcu uzlazni redoslijed "u" pojavljuje se prije "A" i "B" dolazi prije "b". To se događa jer, kada se vrednuju kao tekstne vrijednosti, "A" = "u" i "B" = "b", hoće li se mala slova i početnih velikih slova. Access uzima u obzir redoslijed izvorne vrijednosti. U stupcu redoslijed sortiranja stara "u" prethodi "A" i "B" prethodi "b".
Kada se provodi operacija sortiranje velika i mala slova, tekstualne vrijednosti se zamjenjuju njihove ASCII vrijednosti. Na primjer, A = 65; na = 97, B = 66, b = 98 i tako dalje.
VBA kod
-
Stvaranje VBA modulu, a zatim upišite sljedeći redak u odjeljak s deklaracijama ako već nije ondje:
Mogućnost eksplicitnih
-
U modul u programu 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 FunctionNa prethodni korisnički definiranih funkcija naziva se iz upita. Nakon što prođete naziv polja Sortiraj ove funkcije, će sortirati vrijednosti polja redoslijedom velika i mala slova.
-
Sada stvorite upit iz kojih ćete pozivati ovu funkciju.
Na kartici Stvaranje u grupi Ostalo kliknite Dizajn upita.
-
U dijaloškom okviru Prikaz tablice kliknite tablicu koju želite sortirati, a zatim kliknite Dodaj.
-
Povucite željena polja u rešetku.
-
U prvom praznom stupcu, u retku polje upišite Izraz1: StrToHex([SortField]).
StrToHex je korisnički definirana funkcija koju ste ranije stvorili. SortField je naziv polja koji sadrži vrijednosti za velika i mala slova.
-
U ćeliju sortiranja , kliknite Uzlazno ili Silazno.
Ako odaberete uzlazno, vrijednost započinje velikim slovima pojavit će se prije onih koje započinju s malim slovima. Primjena silazni redoslijed sortiranja čini suprotno.
-
Prijeđite u prikaz podatkovne tablice.
Access prikazuje zapise sortirane redoslijedom velika i mala slova.