Ταξινόμηση εγγραφών με διάκριση πεζών κεφαλαίων

Σημαντικό: Αυτό το άρθρο προέρχεται από μηχανική μετάφραση, δείτε την αποποίηση ευθυνών. Θα βρείτε την αγγλική έκδοση του παρόντος άρθρου εδώ για αναφορά.

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

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

Σειρά πριν από την ταξινόμηση

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

Διάκριση πεζών-κεφαλαίων δελτίο παραγγελίας r

γ

α

A

Δ

Α

B

α

B

Γ

δ

β

Δ

B

γ

α

Γ

Γ

β

A

D

γ

β

δ

δ

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

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

Εγγραφή του κώδικα VBA

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

Option Explicit

  1. Πληκτρολογήστε την παρακάτω διαδικασίανσε μια μονάδα λειτουργίας στο Πρόγραμμα επεξεργασίας της 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, μπορεί να κληθεί από ένα ερώτημα. Όταν δίνετε το όνομα του πεδίου ταξινόμησης στη συνάρτηση, οι τιμές του πεδίου ταξινομούνται με διάκριση πεζών κεφαλαίων.

  2. Δημιουργήστε τώρα ένα ερώτημα από το οποίο θα καλείτε αυτή την συνάρτηση.

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

  3. Στο παράθυρο διαλόγου Εμφάνιση πίνακα, κάντε κλικ στον πίνακα που θέλετε να ταξινομήσετε και στη συνέχεια, κάντε κλικ στον κουμπί Προσθήκη.

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

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

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

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

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

  7. Μεταβείτε στην προβολή "Φύλλο δεδομένων".

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

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

Σημείωση: Αποποίηση ευθυνών αυτόματης μετάφρασης: Αυτό το άρθρο έχει μεταφραστεί από ένα σύστημα υπολογιστή χωρίς ανθρώπινη παρέμβαση. Η Microsoft προσφέρει αυτές τις αυτόματες μεταφράσεις για να βοηθά τους μη αγγλόφωνους χρήστες να απολαμβάνουν περιεχόμενο σχετικά με προϊόντα, υπηρεσίες και τεχνολογίες της Microsoft. Το άρθρο προέρχεται από μηχανική μετάφραση, συνεπώς ενδέχεται να περιέχει λάθη λεξιλογίου, σύνταξης ή γραμματικής.

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×