Ταξινόμηση των διευθύνσεων IP στην Access

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

Αυτό το θέμα περιγράφει τη διαδικασία για την ταξινόμηση διευθύνσεις πρωτοκόλλου Internet (IP) που είναι αποθηκευμένα σε μια βάση δεδομένων της Access.

Εισαγωγή

Εάν εργάζεστε με διευθύνσεις IP, που γνωρίζετε ήδη ότι δεν είναι τόσο απλό όσο η εργασία με κείμενο ή αριθμούς. Αυτό συμβαίνει επειδή μια διεύθυνση IP είναι στην πραγματικότητα μια συλλογή από τέσσερα αριθμητικές τιμές διαχωρισμένες με τελεία (.), όπου κάθε τιμή είναι ένας αριθμός από 0 έως 255. Ο παρακάτω πίνακας εμφανίζει δεδομένα πριν από την εφαρμογή οποιαδήποτε σειρά ταξινόμησης.

Πεδία "Ταυτότητα_μηχανήματος"

Employee

Θέση

Διεύθυνση IP

1

...

...

123.4.245.23

2

...

...

104.244.253.29

3

...

...

1.198.3.93

4

...

...

32.183.93.40

5

...

...

104.30.244.2

6

...

...

104.244.4.1

Ταξινόμηση διευθύνσεων IP στην Access αποτελεί πρόκληση επειδή η Access δεν παρέχει ειδικό τύπο δεδομένων για την αποθήκευση διευθύνσεων IP. Παρόλο που μια διεύθυνση IP είναι απλώς μια συλλογή αριθμών, δεν μπορείτε να αποθηκεύσετε μια διευθύνσεις IP σε ένα αριθμητικό πεδίο. Αυτό συμβαίνει επειδή ένα αριθμητικό πεδίο υποστηρίζει μόνο μία τελεία (.), ενώ μια διεύθυνση IP περιέχει τρεις τελείες (.). Αυτό σημαίνει ότι θα πρέπει να αποθηκεύσετε τις διευθύνσεις σε ένα πεδίο κειμένου.

Επειδή οι διευθύνσεις IP αποθηκεύονται σε ένα πεδίο κειμένου, δεν μπορείτε να χρησιμοποιήσετε τα ενσωματωμένα κουμπιά ταξινόμησης στην Access για να ταξινομήσετε τις διευθύνσεις με λογικό τρόπο. Τα κουμπιά ταξινόμησης ταξινόμηση πάντα τιμών σε ένα πεδίο κειμένου σε αλφαβητική σειρά, ακόμα και αν οι χαρακτήρες είναι αριθμοί. Με άλλα λόγια, οι διευθύνσεις ταξινομούνται με το πρώτο ψηφίο, στη συνέχεια, από το δεύτερο ψηφίο, και ούτω καθεξής, αντί για το προς την αριθμητικές τιμές που αποτελούν τη διεύθυνση. Ο παρακάτω πίνακας εμφανίζει τις διευθύνσεις από τον προηγούμενο πίνακα αλφαβητική ταξινόμηση στο πεδίο διεύθυνση IP.

Πεδία "Ταυτότητα_μηχανήματος"

Διεύθυνση IP

3

1.198.3.93

2

104.244.253.29

6

104.244.4.1

5

104.30.244.2

1

123.4.245.23

4

32.183.93.40

Οι διευθύνσεις που ξεκινούν με το 1 εμφανίζονται πριν από τις διευθύνσεις που ξεκινούν με το 2, και ούτω καθεξής. Ο παρακάτω πίνακας εμφανίζει τις διευθύνσεις σε σωστή αύξουσα σειρά.

Πεδία "Ταυτότητα_μηχανήματος"

Διεύθυνση IP

3

1.198.3.93

4

32.183.93.40

5

104.30.244.2

6

104.244.4.1

2

104.244.253.29

1

123.4.245.23

Για να διευκολύνετε την κατανόηση τα βήματα που απαιτούνται ταξινόμηση αυτών των διευθύνσεων, μπορείτε να διακόψετε στις διευθύνσεις IP σε τέσσερα μέρη αριθμητικά. Οι διευθύνσεις πρέπει να ταξινομηθούν με το πρώτο τμήμα, στη συνέχεια, για κάθε τιμή του πρώτου τμήματος, έπειτα το δεύτερο τμήμα, και ούτω καθεξής. Ο πίνακας εμφανίζει κάθε τμήμα σε διαφορετική στήλη και, επειδή οι στήλες περιέχουν απλές αριθμητικές τιμές, αυτό είναι πιθανό να ταξινομήσετε τις στήλες από αριστερά προς τα δεξιά σε αύξουσα σειρά, όπως φαίνεται στον παρακάτω πίνακα.

ΣΥΜΜΕΤΟΧΩΝ

PartII

PartIII

PartIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23

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

Δημιουργία του ερωτήματος

Θα δημιουργήσετε ένα ερώτημα επιλογής που ονομάζεται διευθύνσεις IP που ταξινομημένες που εμφανίζει τις εγγραφές των διευθύνσεων IP σε αύξουσα σειρά. Ας υποθέσουμε ότι η τρέχουσα βάση δεδομένων διαθέτει έναν πίνακα με το όνομα Στοιχεία_μηχανήματος που περιλαμβάνει ένα πεδίο κειμένου με το όνομα διεύθυνση IP.

  1. Κάντε κλικ στην επιλογή Δημιουργία > Σχεδίαση ερωτήματος. Σημειώστε ότι εάν χρησιμοποιείτε την Access 2007, στην καρτέλα Δημιουργία, στην ομάδα άλλο, κάντε κλικ στην επιλογή Σχεδίαση ερωτήματος.

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

  3. Σύρετε τα πεδία "Ταυτότητα_μηχανήματος" και διεύθυνση IP πεδία στο πλέγμα σχεδίασης ερωτήματος.

  4. Τώρα είστε έτοιμοι να προσθέσετε τις υπολογιζόμενες στήλες. Στην πρώτη κενή στήλη στα δεξιά, πληκτρολογήστε την παράσταση ΣΥΜΜΕΤΟΧΩΝ: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) στη γραμμή πεδίο. Η παράσταση επιστρέφει τους χαρακτήρες πριν από την πρώτη τελεία (.) στο πεδίο διεύθυνση IP.

    Τώρα, μπορείτε να αναθεωρήσετε την παράσταση. Επειδή δεν γνωρίζετε τον αριθμό των ψηφίων που απαρτίζουν το πρώτο τμήμα της διεύθυνσης, μπορείτε να χρησιμοποιήσετε το συνάρτηση InStr για να βρείτε τη θέση της πρώτης περιόδου. Αν αφαιρέσετε το 1 (για να αποκλείσετε την περίοδο) επιστρέφει το πλήθος των ψηφίων στο πρώτο μέρος. Στη συνέχεια, χρησιμοποιήστε αυτόν τον αριθμό με το συνάρτηση Left για να εξαγάγετε ότι πολλοί χαρακτήρες, ξεκινώντας από το αριστερό χαρακτήρα, από το πεδίο διεύθυνση IP. Τέλος, μπορείτε να καλέσετε το συνάρτηση Val για να μετατρέψετε τους χαρακτήρες που επιστρέφονται από τη συνάρτηση Left σε έναν αριθμό. Αυτό το τελευταίο βήμα είναι απαραίτητο, επειδή ο υποκείμενου τύπος δεδομένων είναι κείμενο.

  5. Αποθηκεύστε το ερώτημα, κάνοντας κλικ στην επιλογή Αποθήκευση στη γραμμή Εργαλείων γρήγορης πρόσβασης. Είναι καλή ιδέα να κάνετε αυτό μετά από κάθε ενδιάμεσο βήμα.

  6. Προσθέστε τη στήλη για το δεύτερο τμήμα της διεύθυνσης. Στη στήλη στα δεξιά της ΣΥΜΜΕΤΟΧΩΝ, πληκτρολογήστε PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(Instr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) στη γραμμή πεδίο. Η παράσταση επιστρέφει τους χαρακτήρες που βρίσκονται μεταξύ της πρώτης και της δεύτερης τελείας στο πεδίο διεύθυνση IP.

    Ξανά, αναθεωρήστε την παράσταση. Επειδή δεν γνωρίζετε πόσα ψηφία αποτελούν το δεύτερο τμήμα της διεύθυνσης ή ακριβώς που ξεκινά το δεύτερο τμήμα (επειδή δεν το χρησιμοποιείτε για πόσο καιρό είναι το πρώτο μέρος), χρησιμοποιήστε τη συνάρτηση InStr για να βρείτε τις θέσεις των περιόδων. Στη συνέχεια, χρησιμοποιήστε το συνάρτηση Mid για να εξαγάγετε τους χαρακτήρες που ακολουθούν την πρώτη τελεία αλλά προηγούνται της δεύτερης τελείας. Τέλος, μπορείτε να καλέσετε τη συνάρτηση " Val " για να μετατρέψετε τους χαρακτήρες που επιστρέφονται από τη συνάρτηση Mid σε αριθμό. Αυτό το τελευταίο βήμα είναι απαραίτητο, επειδή ο υποκείμενου τύπος δεδομένων είναι κείμενο.

  7. Προσθέστε τη στήλη για το τρίτο τμήμα της διεύθυνσης. Στη στήλη στα δεξιά της PartII, πληκτρολογήστε PartIII: Val(Mid([IPAddress],InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,InStr(Instr(Instr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],".") -InStr(Instr(1,[IPAddress],".") +1,[IPAddress],".") -1)) στη γραμμή πεδίο. Η παράσταση επιστρέφει τους χαρακτήρες που βρίσκονται μεταξύ το δεύτερο και τρίτο περιόδων στο πεδίο διεύθυνση IP.

    Ξανά, αναθεωρήστε την παράσταση. Επειδή δεν γνωρίζετε πόσα ψηφία αποτελούν το τρίτο τμήμα της διεύθυνσης ή ακριβώς πού ξεκινά το τρίτο τμήμα (επειδή δεν γνωρίζετε πόσο είναι το πρώτο τμήμα), μπορείτε να χρησιμοποιήσετε τη συνάρτηση InStr για να βρείτε τις θέσεις των περιόδων. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Mid για να εξαγάγετε τους χαρακτήρες που ακολουθούν την δεύτερη τελεία αλλά προηγούνται της τρίτης τελείας. Τέλος, μπορείτε να καλέσετε τη συνάρτηση " Val " για να μετατρέψετε τους χαρακτήρες που επιστρέφονται από τη συνάρτηση Mid σε αριθμό. Αυτό το τελευταίο βήμα είναι απαραίτητο, επειδή ο υποκείμενου τύπος δεδομένων είναι κείμενο.

  8. Προσθέστε τη στήλη για το τμήμα της διεύθυνσης τέταρτο και τελευταίο. Στη στήλη στα δεξιά της PartIII, πληκτρολογήστε PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) στη γραμμή πεδίο. Η παράσταση επιστρέφει τους χαρακτήρες που ακολουθούν την τελευταία περίοδο.

    Ξανά, αναθεωρήστε την παράσταση. Είναι το κλειδί για να βρείτε τη θέση της τρίτης τελείας και, στη συνέχεια, εξαγωγή όλους τους χαρακτήρες που ακολουθούν. Επειδή δεν γνωρίζετε ακριβώς όπου η τρίτη περίοδος βρίσκεται, καλείτε τη συνάρτηση InStr τρεις φορές για να βρείτε τη θέση της τρίτης τελείας. Στη συνέχεια, χρησιμοποιήστε το συνάρτηση Len για να υπολογίσετε το πλήθος των ψηφίων στο τέταρτο τμήμα. Ο αριθμός των ψηφίων που επιστρέφεται χρησιμοποιείται με το συνάρτηση Right για να εξαγάγετε αυτόν τον αριθμό χαρακτήρων από το δεξιό τμήμα της στο πεδίο διεύθυνση IP. Τέλος, μπορείτε να καλέσετε τη συνάρτηση " Val " για να μετατρέψετε τους χαρακτήρες που επιστρέφονται από τη συνάρτηση Mid σε αριθμό. Αυτό το τελευταίο βήμα είναι απαραίτητο, επειδή ο υποκείμενου τύπος δεδομένων είναι κείμενο.

  9. Ορίστε τη γραμμή Ταξινόμηση της των τεσσάρων υπολογιζόμενων στηλών σε Αύξουσα σειρά.

    Σημαντικό    Στη γραμμή Ταξινόμηση της στήλης διεύθυνση IP πρέπει να είναι κενό.

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

  10. Το επόμενο βήμα είναι να αποκρύψετε τις τέσσερις στήλες υπολογισμού από το φύλλο δεδομένων. Αλλά πριν να κάνετε που, Μετάβαση στο φύλλο δεδομένων για να δείτε το αποτέλεσμα των παραστάσεων στις υπολογιζόμενες στήλες. Ο παρακάτω πίνακας εμφανίζει τις στήλες που θα βλέπετε στην προβολή φύλλου δεδομένων.

    Πεδία "Ταυτότητα_μηχανήματος"

    Διεύθυνση IP

    ΣΥΜΜΕΤΟΧΩΝ

    PartII

    PartIII

    PartIV

    3

    1.198.3.93

    1

    198

    3

    93

    4

    32.183.93.40

    32

    183

    93

    40

    5

    104.30.244.2

    104

    30

    244

    2

    6

    104.244.4.1

    104

    244

    4

    1

    2

    104.244.253.29

    104

    244

    253

    29

    1

    123.4.245.23

    123

    4

    245

    23

  11. Μεταβείτε ξανά στην προβολή σχεδίασης και καταργήστε την επιλογή από το πλαίσιο ελέγχου στη γραμμή Εμφάνιση των τεσσάρων υπολογιζόμενων στηλών. Αυτό αποτρέπει τις υπολογιζόμενες στήλες από που εμφανίζεται σε προβολή φύλλου δεδομένων.

  12. Προαιρετικά, καθορίστε τα κριτήρια για τον αποκλεισμό εγγραφών από το ερώτημα.

  13. Μετάβαση σε προβολή φύλλου δεδομένων για να δείτε τις εγγραφές με τη σειρά ταξινόμησης. Θα δείτε τις εγγραφές ταξινομημένες σωστά σε αύξουσα σειρά των διευθύνσεων IP.

Περισσότερες χρήσεις για ταξινομημένες διευθύνσεις IP

Επαλήθευση των διευθύνσεων IP κατά την εισαγωγή δεδομένων

Εάν θέλετε να επικυρώσετε διευθύνσεις χωρίς να συντάξετε κώδικα, μπορείτε να το κάνετε σε περιορισμένο βαθμό, ορίζοντας την ιδιότητα μάσκα εισαγωγής του πεδίου για να #. ###. ###. ###; 0; " " και την ιδιότητα μορφή πεδίο διεύθυνση IP για να & & & & & & & & & & & &.

Τι κάνει τη μάσκα εισαγωγής; Όταν ξεκινάτε να πληκτρολογείτε στο πεδίο διεύθυνση, τη μάσκα εισαγωγής δεν επιτρέπει την εισαγωγή χαρακτήρων εκτός από αριθμούς και κενά διαστήματα ανάμεσα στις τρεις τελείες. Εάν ένα αριθμητικό τμήμα είναι ένα διψήφιο αριθμό, αφήστε κενό το τρίτο ψηφίο ή πληκτρολογήστε ένα διάστημα αντί για αυτό. Σημειώστε ότι αυτή η μάσκα εισαγωγής δεν προειδοποιεί τον χρήστη αν αυτός παραλείψει να πληκτρολογήσει ένα ή περισσότερα τμήματα της διεύθυνσης ή πληκτρολογήσει μόνο κενά διαστήματα αντί για μια αριθμητική τιμή. Για παράδειγμα, "345.. 3. "θα γίνει αποδεκτή ως μια έγκυρη διεύθυνση.

Τι κάνει αυτή η μορφή εμφάνισης Όταν ολοκληρώσετε την πληκτρολόγηση και αφήστε το πεδίο, η μορφή εμφάνισης καταργεί τα κενά διαστήματα στη διεύθυνση και εμφανίζει μόνο τους αριθμούς και περιόδων. Επομένως, εάν πληκτρολογήσατε "354.35.2.12", η διεύθυνση εμφανίζεται ως "354.35.2.12". Λάβετε υπόψη ότι εάν κάνετε κλικ μέσα στη διεύθυνση ή πατήστε το πλήκτρο F2 (για να εισαγάγετε την κατάσταση λειτουργίας επεξεργασίας) όταν έχετε επιλέξει τη διεύθυνση, θα εμφανιστεί ξανά τα κενά διαστήματα.

Συμβουλή: Εάν θέλετε να αντιγράψετε μια διεύθυνση, μετακίνηση στην προηγούμενη στήλη ή στοιχείο ελέγχου, πατήστε το πλήκτρο TAB για να επιλέξετε τη μορφοποιημένη διεύθυνση και, στη συνέχεια, κάντε κλικ στην επιλογή Αντιγραφή. Με αυτόν τον τρόπο, δεν θα αντιγράψετε η συμβολοσειρά της διεύθυνσης που περιέχει κενά διαστήματα.

Ταξινόμηση εγγραφών σε μια φόρμα ή έκθεση με διευθύνσεις IP

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

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

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

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

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

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

×