Applies ToAccess για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Οι ταξινομήσεις Access κάνουν εγγραφή κατά αύξουσα ή φθίνουσα σειρά, ανεξαρτήτως υπόθεσης. Ωστόσο, γράφοντας μερικές γραμμές κώδικα της Visual Basic for Applications (VBA), μπορείτε να κάνετε ταξινόμηση κειμένου σύμφωνα με τις τιμές χαρακτήρων ASCII. Η ταξινόμηση βάσει τιμών ASCII διαχωρίζει τα κεφαλαία από τα πεζά γράμματα και έχει ως αποτέλεσμα μια σειρά με διάκριση πεζών-κεφαλαίων.

Ο παρακάτω πίνακας παρουσιάζει πώς μια αύξουσα σειρά ταξινόμησης στην Access διαφέρει από τη σειρά ταξινόμησης με διάκριση πεζών-κεφαλαίων:

Σειρά προδιαλογής

Αύξουσα σειρά

Σειρά με διάκριση πεζών-κεφαλαίων

γ

α

Α

Δ

A

Β

α

Β

C

η

β

Δ

Β

γ

α

C

C

β

Α

Δ

γ

β

η

η

Παρόλο που τα αποτελέσματα στη στήλη της αύξουσας σειράς μπορεί αρχικά να εμφανίζονται λίγο απρόβλεπτα, ωστόσο δεν είναι. Στη στήλη αύξουσας σειράς, το "α" εμφανίζεται πριν από το "Α" και το "Β" πριν από το "β". Αυτό συμβαίνει επειδή όταν υπολογίζονται ως τιμές κειμένου, "A" = "α" και "B" = "β", ανεξάρτητα από το αν είναι πεζά ή κεφαλαία. Η Access λαμβάνει υπόψη την αρχική σειρά των τιμών. Στη στήλη προδιαλογής, το "α" προηγείται του "Α" και το "Β" προηγείται του "β".

Όταν εκτελείται η λειτουργία ταξινόμησης με διάκριση πεζών-κεφαλαίων, οι τιμές κειμένου αντικαθίστανται με τις τιμές ASCII. Για παράδειγμα, A = 65, α = 97, B = 66, β = 98 κ.ο.κ.

Σύνταξη κώδικα VBA

  1. Δημιουργήστε μια λειτουργική μονάδα VBA και πληκτρολογήστε την ακόλουθη γραμμή στην ενότητα "Δηλώσεις", εάν δεν έχει γίνει ήδη:

    Option Explicit

  2. Πληκτρολογήστε την ακόλουθη διαδικασία σε μια λειτουργική μονάδα στην επεξεργασία της 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
    

    Η προγενέστερη συνάρτηση που ορίζεται από το χρήστη, StrToHex, μπορεί να ονομαστεί από ένα ερώτημα. Όταν μεταβιβάσετε το όνομα του πεδίου ταξινόμησης σε αυτή τη συνάρτηση, θα ταξινομήσει τις τιμές πεδίου με διάκριση πεζών-κεφαλαίων.

  3. Τώρα, δημιουργήστε ένα ερώτημα από το οποίο θα καλέσετε αυτή τη συνάρτηση.

    Στην καρτέλα Δημιουργία, στην ομάδα Ερωτήματα, κάντε κλικ στην επιλογή Σχεδίαση ερωτήματος.

  4. Επιλέξτε Προσθήκη πινάκων (Εμφάνιση πίνακα στην Access).

  5. Σύρετε τα πεδία που θέλετε να μπουν στο πλέγμα.

  6. Στην πρώτη κενή στήλη, στη γραμμή Πεδίο, πληκτρολογήστε Expr1: StrToHex([SortField]).

    Η συνάρτηση StrToHex ορίζεται από το χρήστη και είναι αυτή που δημιουργήσατε νωρίτερα. Το πεδίο SortField είναι το όνομα του πεδίου που περιέχει τις τιμές με διάκριση πεζών-κεφαλαίων.

  7. Στο κελί Ταξινόμηση, κάντε κλικ στην επιλογή Αύξουσα ή Φθίνουσα.

    Εάν επιλέξετε αύξουσα σειρά, η τιμές που ξεκινούν με κεφαλαία γράμματα θα εμφανίζονται πριν από εκείνες που ξεκινούν με πεζά γράμματα. Η εφαρμογή φθίνουσας σειράς ταξινόμησης κάνει το αντίθετο.

  8. Μετάβαση σε προβολή φύλλου δεδομένων.

    Η Access εμφανίζει τις εγγραφές, ταξινομημένες με διάκριση πεζών-κεφαλαίων.

Αρχή της σελίδας

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.