Office
Είσοδος

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

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

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

Σε αυτό το άρθρο

Εισαγωγή

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

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

Εισαγωγή

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

Ταυτότητα_μηχανήματος

Εργαζόμενος

Τοποθεσία

Διεύθυνση 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 "IPAddress".

Ταυτότητα_μηχανήματος

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

Ταυτότητα_μηχανήματος

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

PartI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Important    Η γραμμή Ταξινόμηση της στήλης IPAddress πρέπει να είναι κενή.

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

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

MachineID

IPAddress

PartI

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

  1. Αλλάξτε πάλι σε προβολή "Σχεδίαση" και καταργήστε την επιλογή στο πλαίσιο ελέγχου στη γραμμή Εμφάνιση και στις τέσσερεις υπολογιζόμενες στήλες. Έτσι δεν θα εμφανίζονται οι υπολογιζόμενες στήλες στην προβολή "Φύλλο δεδομένων".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

×