Sortarea înregistrărilor în ordinea care diferențiază literele mari și mici

Notă: Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză, ca să îl puteți consulta cu ușurință.

Microsoft Office Access 2007 sortează înregistrările în ordine crescătoare sau descrescătoare fără a ține seama de literă potrivit. Cu toate acestea, scriind câteva linii de Visual Basic for Applications (VBA) cod, puteți să sortați textul, valorile sale de caractere ASCII. Sortare pe baza valorilor ASCII diferențiază majuscule la litere și rezultatele într-o ordine literele mari sau mici.

Următorul tabel demonstrează modul în care diferă o ordine de sortare ascendentă în Access dintr-o ordine de sortare literele mari sau mici:

Pre-ordinea de sortare

Ordine crescătoare

Orde literele mari sau mici 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

Deși rezultatele în coloana ordine ascendentă s-ar putea la început să apară oarecum imprevizibil, acestea nu sunt. În coloana ordine ascendentă, "o" apare înainte de a "A" și "B" apare înainte de "b". Acest lucru se întâmplă deoarece, atunci când evaluate ca valori text, "A" = "a" și "B" = "b", litere mici sau majuscule. Access ia în considerare ordinii originale valorile. În coloana ordine de pre-sortare "a" precede "A" și "B" precede "b".

Atunci când efectuându-se operațiunea de sortare literele mari sau mici, valorile text care sunt înlocuite cu valorile lor ASCII. De exemplu, A = 65, o = 97, B = 66, b = 98, și așa mai departe.

Scrierea de cod VBA

  1. Creați un modul VBA și tastați următoarea linie în secțiunea declarații, dacă nu este deja acolo:

Opțiunea explicită

  1. Tastați următoarea procedură într-un modul în 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

    Precedent funcții definite de utilizator, StrToHex, poate fi numit dintr-o interogare. Atunci când treceți numele câmpului de sortare în această funcție, l sortați valorile de câmp în ordine literele mari sau mici.

  2. Acum, creați o interogare de unde vor apela această funcție.

    Pe fila Creare, în grupul Altele, faceți clic pe Proiectare interogare.

  3. În caseta de dialog Afișare tabel , faceți clic pe tabelul pe care doriți să sortați, apoi faceți clic pe Adăugare.

  4. Glisați câmpurile dorite la grilă.

  5. În prima coloană necompletată, în rândul câmp , tastați Expr1: StrToHex([SortField]).

    StrToHex este funcții definite de utilizator l-ați creat anterior. SortField este numele câmpului care conține valorile literele mari sau mici.

  6. În celula de Sortare , faceți clic pe ascendent sau descendent.

    Dacă alegeți ordine ascendentă, valoarea începând cu litere mari va apărea înaintea celor care încep cu litere mici. Aplicarea o ordine de Sortare descendentă este opusul.

  7. Comutați la vizualizarea foaie de date.

    Access afișează înregistrările, sortate în ordine literele mari sau mici.

Începutul paginii

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×