Sortieren von IP-Adressen

Wichtig :  Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: hier.

In diesem Thema wird das Verfahren für das Sortieren von IP-Adressen beschrieben, die in einer Microsoft Office Access 2007-Datenbank gespeichert sind.

Inhalt dieses Artikels

Einführung

Erstellen Sie die Abfrage

Weitere Verwendungsmöglichkeiten für sortierte IP-Adressen

Einführung

Wenn Sie IP-Adressen verwenden, wissen Sie wahrscheinlich, dass das Verwenden von IP-Adressen nicht so einfach ist wie das Verwenden von Text oder Zahlen. Das liegt daran, dass eine IP-Adresse in Wirklichkeit eine Auflistung von vier durch einen Punkt (.) getrennten numerischen Werten ist, wobei jeder Wert einer Zahl zwischen 0 und 255 entspricht. In der folgenden Tabelle werden Daten vor der Anwendung einer Sortierreihenfolge gezeigt.

Computer-ID

Mitarbeiter

Ort

IP-Adresse

Sonntag

...

...

123.4.245.23

3500

...

...

104.244.253.29

4

...

...

1.198.3.93

3500

...

...

32.183.93.40

18

...

...

104.30.244.2

19

...

...

104.244.4.1


Das Sortieren von IP-Adressen in Access stellt eine Herausforderung dar, da in Access kein spezieller Datentyp für das Speichern von IP-Adressen bereitgestellt wird. Obwohl eine IP-Adresse nur eine Auflistung von Zahlen ist, können Sie eine IP-Adresse nicht in einem numerischen Feld speichern. Das liegt daran, dass ein numerisches Feld nur ein einziges Dezimaltrennzeichen (.) unterstützt, während eine IP-Adresse drei Punkte enthält (.). Das bedeutet, dass Sie die Adressen in einem Textfeld speichern müssen.

Da Sie IP-Adressen in einem Textfeld speichern, können Sie die integrierten Sortierschaltflächen in Access nicht zum sinnvollen Sortieren der Adressen verwenden. Durch die Sortierschaltflächen werden Werte in einem Textfeld immer in alphabetischer Reihenfolge sortiert, selbst wenn es sich bei den Zeichen um Zahlen handelt. Mit anderen Worten: Die Adressen werden nach der ersten Ziffer, dann nach der zweiten Ziffer usw. sortiert, anstatt nach den numerischen Werten, aus denen die Adresse besteht. In der folgenden Tabelle werden die Adressen aus der vorherigen Tabelle in alphabetischer Reihenfolge nach dem Feld IP-Adresse sortiert gezeigt.

Computer-ID

IP-Adresse

4

1.198.3.93

3500

104.244.253.29

19

104.244.4.1

18

104.30.244.2

Sonntag

123.4.245.23

3500

32.183.93.40


Die mit 1 beginnenden Adressen werden vor den mit 2 beginnenden Adressen angezeigt usw. In der folgenden Tabelle werden die Adressen in der richtigen aufsteigenden Reihenfolge gezeigt.

Computer-ID

IP-Adresse

4

1.198.3.93

3500

32.183.93.40

18

104.30.244.2

19

104.244.4.1

3500

104.244.253.29

Sonntag

123.4.245.23


Zum besseren Verständnis der Schritte beim Sortieren dieser Adressen unterteilen Sie die IP-Adressen in vier numerische Teile. Die Adressen müssen nach dem ersten Teil, dann nach jedem Wert im ersten Teil, dann nach dem zweiten Teil usw. sortiert werden. In der Tabelle werden die einzelnen Teile in verschiedenen Spalten angezeigt, und Sie können die Spalten, da sie einfache numerische Werte enthalten, in aufsteigender Reihenfolge von links nach rechts sortieren, wie in der folgenden Tabelle gezeigt.

Teil1

Teil2

Teil3

Teil4

Sonntag

99

4

93

32

183

93

40

104

30

244

3500

104

244

3500

Sonntag

104

244

253

29

123

3500

245

23


Der Trick beim Sortieren von IP-Adressen ist das getrennte Sortieren der vier Teile. Im folgenden Verfahren erstellen Sie eine Abfrage, die zusätzlich zum Feld mit der IP-Adresse vier berechnete Spalten enthält, in denen jeweils ein Teil der Adresswerte gespeichert ist. Die erste berechnete Spalte enthält den ersten numerischen Teil der Adresse, die zweite berechnete Spalte enthält den zweiten numerischen Teil der Adresse usw. Anstatt die Datensätze nach dem Feld IP-Adresse zu sortieren, werden die Datensätze durch die Abfrage nach den vier berechneten Spalten sortiert.

Seitenanfang

Erstellen der Abfrage

Sie erstellen eine Auswahlabfrage namens Sortierte IP-Adressen, durch die die Datensätze in der aufsteigenden Reihenfolge der IP-Adressen angezeigt werden. Nehmen Sie an, dass die aktuelle Datenbank eine Tabelle namens Computerdetails enthält, die ein Textfeld namens IP-Adresse enthält.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.

  2. Klicken Sie im Dialogfeld Tabelle anzeigen auf der Registerkarte Tabellen auf Computerdetails, und klicken Sie dann auf Hinzufügen. Schließen Sie das Dialogfeld.

  3. Ziehen Sie die Felder Computer-ID und IP-Adresse in den Abfrageentwurfsbereich.

  4. Sie können nun die berechneten Spalten hinzufügen. Geben Sie in die erste leere Spalte auf der rechten Seite den Ausdruck geben: Val(Left([IP-Adresse],(InStr(1,[IP-Adresse],".") -1))) in der Zeile Feld. Der Ausdruck gibt die Zeichen vor dem ersten Punkt (.) im Feld IP-Adresse.

    Überprüfen Sie nun den Ausdruck ein. Da Sie nicht wissen, wie viele Ziffern im ersten Teil der Adresse besteht, verwenden Sie die InStr -Funktion, um die Position der ersten Periode suchen. Subtraktion 1 (zum Ausschließen des Punkts) gibt die Anzahl von Ziffern im ersten Teil. Klicken Sie dann verwenden Sie diese Zahl mit der Links -Funktion, um das Anzahl von Zeichen, beginnend mit die Zeichen ganz links aus dem Feld IP-Adresse extrahieren. Schließlich rufen Sie die Val -Funktion, um die zurückgegebenen Zeichen von der Funktion Links in eine Zahl konvertieren. Der letzte Schritt ist erforderlich, da der zugrunde liegende Datentyp Text ist.

  5. Speichern Sie die Abfrage, indem Sie unter Symbolleiste für den Schnellzugriff auf Speichern auf klicken. Dies sollte nach jedem Zwischenschritt erfolgen.

  6. Fügen Sie die Spalte für den zweiten Teil der Adresse ein. Geben Sie in der Spalte rechts neben geben ///TeilII: Val(Mid([IP-Adresse],InStr(1,[IP-Adresse],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) in der Zeile Feld. Der Ausdruck gibt die Zeichen, die sich zwischen dem ersten und zweiten Punkt im Feld IP-Adresse sind.

    Überprüfen Sie erneut, den Ausdruck ein. Da Sie nicht wissen, wie viele Ziffern des zweiten Teils der Adresse besteht oder genau, wobei die zweite Komponente gestartet wird (weil Sie nicht, wie lange die erste Komponente ist), Sie die InStr -Funktion, verwenden um die Positionen der Punkte zu suchen. Verwenden Sie Sie dann die Mid -Funktion, um die Zeichen zu extrahieren, die den ersten Punkt, jedoch folgen vor dem zweiten Punkt stehen. Schließlich rufen Sie die Val -Funktion, um die Zeichen zurückgegebene Mid -Funktion in eine Zahl umwandeln. Der letzte Schritt ist erforderlich, da der zugrunde liegende Datentyp Text ist.

  7. Fügen Sie der Spalte für den dritten Teil der Adresse hinzu. Geben Sie in der Spalte rechts neben ///TeilII ///TeilIII: Val(Mid([IP-Adresse],InStr(InStr(1,[IP-Adresse],".") +1,[IPAddress],".") +1,InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],".") -InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -1)) in der Zeile Feld. Der Ausdruck gibt die Zeichen, die sich zwischen der zweiten und dritten Punkt im Feld IP-Adresse befinden.

    Überprüfen Sie erneut den Ausdruck. Da Sie nicht wissen, aus wie vielen Ziffern der dritte Teil der Adresse besteht oder wo der dritte Teil genau beginnt (da Sie nicht wissen, wie lang der erste und der zweite Teil sind), verwenden Sie die InStr-Funktion, um die Positionen der Punkte zu suchen. Dann verwenden Sie die Mid-Funktion, um die Zeichen zu extrahieren, die auf den zweiten Punkt folgen, jedoch vor dem dritten Punkt stehen. Schließlich rufen Sie die Val-Funktion auf, um die von der Mid-Funktion zurückgegebenen Zeichen in eine Zahl zu konvertieren. Dieser letzte Schritt ist notwendig, da der zugrunde liegende Datentyp Text entspricht.

  8. Fügen Sie die Spalte für den vierten und letzten Adressteil hinzu. Geben Sie in der Spalte rechts neben ///TeilIII PartIV: Val(Right([IP-Adresse],Len([IP-Adresse])-InStr(InStr(InStr(1,[IP-Adresse],".") +1,[IPAddress],".") +1,[IPAddress],"."))) in der Zeile Feld. Der Ausdruck gibt die Zeichen, die auf die letzte Periode folgen.

    Überprüfen Sie erneut, den Ausdruck ein. Der Schlüssel ist die Position des dritten Punkts finden und extrahieren Sie alle Zeichen, die sie folgen. Da Sie nicht genau, wo die dritte Periode befindet wissen, rufen Sie auf die InStr -Funktion dreimal auf um die Position des dritten Punkts zu suchen. Verwenden Sie Sie dann die Len -Funktion, um die Anzahl von Ziffern im vierten Teil zu berechnen. Die Anzahl von Ziffern zurückgegeben wird verwendet, mit der rechts -Funktion zum Extrahieren von diese Anzahl Zeichen aus dem rechten Bereich des Felds IP-Adresse. Schließlich rufen Sie die Val -Funktion, um die Zeichen zurückgegebene Mid -Funktion in eine Zahl konvertieren. Der letzte Schritt ist erforderlich, da der zugrunde liegende Datentyp Text ist.

  9. Legen Sie die Zeile Sortieren aller vier berechneten Spalten auf Aufsteigend fest.

    Wichtig    Die Zeile Sortieren der Spalte IP-Adresse muss leer bleiben.

    Wenn Sie zusätzlich zu den Adressen nach anderen Feldwerten sortieren möchten, platzieren Sie die Felder links oder rechts von allen vier berechneten Spalten. Platzieren Sie nicht die anderen Sortierfelder zwischen den berechneten Spalten.

  10. Der nächste Schritt besteht im Ausblenden der vier berechneten Spalten aus dem Datenblatt. Zuvor wechseln Sie jedoch zur Datenblattansicht, um das Ergebnis der Ausdrücke in den berechneten Spalten anzuzeigen. In der folgenden Tabelle werden die Spalten gezeigt, die Sie in der Datenblattansicht sehen.

Computer-ID

IP-Adresse

Teil1

Teil2

Teil3

Teil4

4

1.198.3.93

Sonntag

99

4

93

3500

32.183.93.40

32

183

93

40

18

104.30.244.2

104

30

244

3500

19

104.244.4.1

104

244

3500

Sonntag

3500

104.244.253.29

104

244

253

29

Sonntag

123.4.245.23

123

3500

245

23

  1. Wechseln Sie zurück zur Entwurfsansicht, und deaktivieren Sie in der Zeile Anzeigen aller vier berechneten Spalten das Kontrollkästchen. Dadurch wird verhindert, dass die berechneten Spalten in der Datenblattansicht angezeigt werden.

  2. Geben Sie optional Kriterien zum Ausschließen von Datensätzen aus der Abfrage an.

  3. Wechseln Sie zur Datenblattansicht, um die Datensätze in sortierter Reihenfolge anzuzeigen. Die Datensätze werden richtig in aufsteigender Reihenfolge nach den IP-Adressen sortiert angezeigt.

Seitenanfang

Weitere Verwendungen für sortierte IP-Adressen

Überprüfen von IP-Adressen während der Dateneingabe

Wenn Sie Adressen ohne Schreiben von Code überprüfen möchten, können Sie dies in begrenztem Umfang führen Sie mithilfe der Eingabeformat -Eigenschaft des Felds, das #. ###. ###. ###; 0; " " und die Format -Eigenschaft des Felds, das IP-Adresse & & & & & & & & & & & &.

Was bewirkt die Eingabemaske? Wenn Sie mit dem Eingeben in das Adressfeld beginnen, verhindert die Eingabemaske, dass Sie andere Zeichen als Zahlen und Leerzeichen zwischen den drei Punkten eingeben. Wenn ein numerischer Teil einer zweistelligen Zahl entspricht, lassen Sie die dritte Ziffer leer, oder geben Sie stattdessen ein Leerzeichen ein. Der Benutzer wird durch die Eingabemaske nicht gewarnt, wenn er das Eingeben eines oder mehrerer Teile der Adresse überspringt oder anstelle numerischer Werte nur Leerzeichen eingibt. Beispielsweise wird "345. .3. " als gültige Adresse akzeptiert.

Was bewirkt das Anzeigeformat? Wenn Sie mit dem Eingeben fertig sind und das Feld verlassen, werden durch das Anzeigeformat die Leerzeichen in der Adresse entfernt und nur die Zahlen und Punkte angezeigt. Wenn Sie also "354.35 .2 .12 " eingegeben haben, wird die Adresse als "354.35.2.12" angezeigt. Wenn Sie in die Adresse klicken oder F2 drücken (um in den Bearbeitungsmodus zu wechseln), während die Adresse ausgewählt ist, werden die Leerzeichen wieder angezeigt.

Tipp : Wenn Sie eine Adresse kopieren möchten, wechseln Sie zur vorherigen Spalte oder zum vorherigen Steuerelement, drücken Sie die TAB-TASTE, um die formatierte Adresse auszuwählen, und klicken Sie dann auf Kopieren. Dadurch kopieren Sie nicht die Adresszeichenfolge, die Leerzeichen enthält.

Sortieren von Datensätzen in einem Formular oder Bericht nach IP-Adressen

Wenn Sie ein Formular oder einen Bericht erstellen müssen, in dem die Datensätze nach IP-Adressen sortiert sind, basieren Sie das neue Objekt auf einer Abfrage, durch die Adressen, wie vorher beschrieben, sortiert werden, anstatt auf der Tabelle, in der die Adressen gespeichert werden.

Seitenanfang

Hinweis : Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×