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

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

Microsoft Office Access 2007 sortează înregistrările în ordine crescătoare sau descrescătoare, fără a ține cont dacă sunt litere mari sau mici. Cu toate acestea, dacă scrieți câteva rânduri în codul Visual Basic for Applications (VBA), aveți posibilitatea să sortați textele în funcție de valorile caracter ASCII ale sale. Sortarea în funcție de valorile ASCII diferențiază literele mari de cele mici și determină o ordonarea în funcție de diferențierea majuscule/minuscule.

Tabelul următor demonstrează felul în care o ordine de sortare ascendentă din Access diferă de ordinea de sortare care cuprinde diferențierea majuscule/minuscule.

Ordine pre-sortare

Ordine ascendentă

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

Cu toate că rezultatele din coloana în ordine ascendentă par la prima vedere oarecum imprevizibile, ele nu sunt deloc așa. În coloana în ordine ascendentă, "a" apare înainte de "A", iar " B" apare înainte de "b." Aceasta are loc deoarece, atunci când sunt evaluate ca valori text, "A" = "a" și "B" = "b," indiferent dacă sunt litere mari sau mici. Access ia în considerare ordinea inițială a valorilor. În coloana în ordine presortată, "a" îl precedă pe "A" și "B" îl precedă pe "b."

Când se efectuează operațiunea de sortare cu diferențierea majuscule/minuscule, valorile text sunt înlocuite de valorile lor ASCII. De exemplu, A = 65, a = 97, B = 66, b = 98 și așa mai departe.

Scrierea codului VBA

  1. Creați un modul VBA și tastați următorul rând în secțiunea Declarații, dacă acesta nu se află deja acolo:

Option Explicit

  1. Tastați procedeul următor într-un modul din editorul Visual Basic:

    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

    Funcția definită de utilizator anterioară, StrToHex, poate fi utilizată dintr-o interogare. Când treceți numele câmpului de sortare la această funcție, acesta va sorta valorile de câmp în ordinea de sortare care cuprinde diferențierea majuscule/minuscule.

  2. Acum, creați o interogare de la care să utilizați 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 îl sortați, apoi faceți clic pe Adăugare.

  4. Glisați în grilă câmpurile de care aveți nevoie.

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

    StrToHex este funcția definită de utilizator pe care ați creat-o anterior. SortField este numele câmpului care conține valorile cu diferențierea majuscule/minuscule.

  6. În celula Sortare, faceți clic pe Ascendent sau pe Descendent.

    Dacă alegeți ordinea ascendentă, valorile care încep cu majusculă vor apărea înaintea acelora care încep cu literă mică. Aplicarea ordinii descendente acționează invers.

  7. Comutați la Vizualizare foaie de date.

    Access afișează înregistrările sortate după diferențierea majuscule/minuscule

Începutul paginii

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
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.

×