Sortieren von IP-Adressen

Hinweis:  Wir möchten Ihnen die aktuellsten Hilfeinhalte so schnell wie möglich in Ihrer eigenen Sprache bereitstellen. Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Teilen Sie uns bitte über den Link am unteren Rand dieser Seite mit, ob die Informationen für Sie hilfreich sind. Hier finden Sie den englischen Artikel als Referenz.

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

Standort

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 gespeichert werden, können die integrierten Sortier-Schaltflächen in Access Sie um die Adressen in einer aussagekräftigen Darstellung zu sortieren. Schaltflächen zum Sortieren Sortieren immer Werte in einem Textfeld in alphabetischer Reihenfolge, auch wenn Zahlen werden. Kurzum, die Adressen nach der letzten Ziffer sortiert werden, dann nach der zweiten Ziffer usw., statt von der numerischen Werten, die Adresse. Die folgende Tabelle zeigt die Adressen aus der vorherigen Tabelle in alphabetischer Reihenfolge auf die IP-Adresse im Feld sortiert.

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


Sortieren die vier Komponenten getrennt ist der Trick beim Sortieren von IP-Adressen. Im folgenden Verfahren, erstellen Sie eine Abfrage, die neben dem Feld IP-Adresse vier berechnete Spalten enthält, in dem einen Teil der Adresswerte in jeder Spalte wird gespeichert. Halten Sie die erste berechnete Spalte wird des ersten numerischen Teils der Adresse, die zweite berechnete Spalte den zweiten numerischen Teil der Adresse usw. eingeben. Statt sortieren die Einträge nach dem Feld IP-Adresse ein, wird die Abfrage die Datensätze nach den vier berechneten Spalten sortieren.

Seitenanfang

Erstellen der Abfrage

Erstellen Sie eine Auswahlabfrage, die mit dem Namen sortiert IP-Adressen, die die Datensätze in aufsteigender Reihenfolge von IP-Adressen angezeigt werden. Angenommen Sie, die aktuelle Datenbank eine Tabelle mit dem Namen ///Computerdetails, 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 MachineID wird hinzugefügt und IP-Adresse im Entwurfsbereich der Abfrage ein.

  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 die Spalte für den dritten Teil der Adresse ein. 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 umwandeln. 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

Ihre Office-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.

×