Ταξινομήστε τις διευθύνσεις IP στην Access

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

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

Εισαγωγή

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

MachineID

Υπάλληλος

Θέση

IPAddress

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 σε ένα πεδίο κειμένου, δεν μπορείτε να χρησιμοποιήσετε τα ενσωματωμένα κουμπιά Sort στην Access για να ταξινομήστε τις διευθύνσεις με ουσιαστικό τρόπο. Τα κουμπιά ταξινόμησης πάντα ταξινομούν τις τιμές σε ένα πεδίο κειμένου σε αλφαβητική σειρά, ακόμα και αν οι χαρακτήρες είναι αριθμοί. Με άλλα λόγια, οι διευθύνσεις ταξινομούνται κατά το πρώτο ψηφίο, στη συνέχεια με το δεύτερο ψηφίο και ούτω καθεξής, αντί για τις αριθμητικές τιμές που απαρτίζουν τη διεύθυνση. Ο παρακάτω πίνακας εμφανίζει τις διευθύνσεις από τον προηγούμενο πίνακα ταξινομημένες με αλφαβητική σειρά στο πεδίο διεύθυνση IP.

MachineID

IPAddress

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 και ούτω καθεξής. Ο παρακάτω πίνακας εμφανίζει τις διευθύνσεις στη σωστή αύξουσα σειρά.

MachineID

IPAddress

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. Ας υποθέσουμε ότι η τρέχουσα βάση δεδομένων έχει έναν πίνακα με το όνομα MachineDetails, ο οποίος περιλαμβάνει ένα πεδίο κειμένου με το όνομα διεύθυνση IP.

  1. Κάντε κλικ στην επιλογή Δημιουργίασχεδίασης ερωτήματος>. 

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

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

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

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

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

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

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

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

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

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

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

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

    Σημαντικό    Η γραμμή sort της στήλης IP πρέπει να παραμείνει κενή.

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

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

    MachineID

    IPAddress

    Παρτι

    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; " " και την ιδιότητα Format του πεδίου" διεύθυνση IP "στο &&&&&&&&&&&&.

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

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

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

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

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

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

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

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

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

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

×