Applies ToAccess pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access sortează înregistrările în ordine ascendentă sau descendentă, fără a ține cont de caz. Totuși, prin scrierea câtorva linii de cod Visual Basic for Applications (VBA), puteți sorta textul după valorile sale de caracter ASCII. Sortarea pe baza valorilor ASCII diferențiază majusculele de literele mici și duce la o ordine sensibilă la litere mari și mici.

Următorul tabel demonstrează modul în care o ordine de sortare ascendentă în Access diferă de o ordine de sortare sensibilă la litere mari și mici:

Ordine pre-sortare

Ordine ascendentă

Ordinea sensibilă la litere mari și mici

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 din coloana Ordine ascendentă pot apărea la început oarecum imprevizibile, acestea nu sunt. În coloana Ordine ascendentă, apare "a" înainte de "A" și "B" înainte de "b". Acest lucru se întâmplă deoarece, atunci când este evaluat ca valori text, "A" = "a" și "B" = "b", fie cu litere mici, fie cu majuscule. Access ia în considerare ordinea inițială a valorilor. În coloana Ordine de pre-sortare, "a" precedă "A" și "B" precedă "b".

Atunci când se efectuează operațiunea de sortare sensibilă la litere mari și mici, valorile text sunt înlocuite cu valorile ASCII. De exemplu, A = 65, a = 97, B = 66, b = 98 și așa mai departe.

Scrieți codul VBA

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

    Option Explicit

  2. 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
    

    Funcția definită de utilizator precedentă, StrToHex, poate fi apelată dintr-o interogare. Când transmiteți numele câmpului de sortare acestei funcții, aceasta va sorta valorile de câmp în ordinea sensibilă la litere mari și mici.

  3. Acum, creați o interogare din care veți apela această funcție.

    În fila Creare, în grupul Interogări, faceți clic pe Proiectare interogare.

  4. Selectați Adăugare tabele (Afișare tabel în Access).

  5. Glisați câmpurile dorite în grilă.

  6. În prima coloană necompletată, în rândul Câmp , tastați Expr1: StrToHex([Câmp Sortare]).

    StrToHex este funcția definită de utilizator pe care ați creat-o anterior. SortField este numele câmpului care conține valorile sensibile la litere mari și mici.

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

    Dacă alegeți ordinea ascendentă, valoarea care începe cu majuscule va apărea înaintea celor care încep cu litere mici. Aplicarea unei sortări de ordine descendentă face invers.

  8. Comutați la Vizualizarea foaie de date.

    Access afișează înregistrările, sortate în ordinea sensibilă la litere mari și mici.

Începutul paginii

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.