Trier des adresses IP dans Access

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Cette rubrique décrit comment trier les adresses IP (Internet Protocol) stockées dans une base de données Access.

Introduction

Si vous travaillez avec des adresses IP, vous savez déjà probablement qu’il n’est pas aussi simple que celui de l’utilisation de texte ou des nombres. Il s’agit d’une adresse IP étant vraiment une collection de quatre valeurs numériques séparées par un point (.), où chaque valeur est un nombre compris entre 0 et 255. Le tableau suivant montre les données avant de l’ordre de tri est appliqué.

ID de l’ordinateur

Employee

Emplacement

Adresse 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

Trier les adresses IP dans Access est compliqué, car Access ne fournit pas un type de données spécial pour stocker les adresses IP. Bien qu’une adresse IP est simplement un ensemble de nombres, vous ne pouvez pas stocker un adresses IP dans un champ numérique. Il s’agit d’un champ numérique prenant en charge uniquement une seule virgule décimale (.), alors que trois points (.) ne contient une adresse IP. Cela signifie que vous devez stocker les adresses dans un champ de texte.

Étant donné que vous stockez les adresses IP dans un champ de texte, vous ne pouvez pas utiliser les boutons de tri intégrés dans Access pour trier les adresses de manière significative. Les boutons de tri toujours trient les valeurs dans un champ de texte par ordre alphabétique, même si les caractères sont des nombres. En d’autres termes, les adresses sont triées par le premier chiffre, puis en le deuxième chiffre et ainsi de suite, plutôt que par les valeurs numériques qui composent l’adresse. Le tableau suivant montre les adresses à partir de la table précédente triées par ordre alphabétique dans le champ adresse IP.

ID de l’ordinateur

Adresse 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

Affiche les adresses qui commencent par 1 avant les adresses qui commencent par 2 et ainsi de suite. Le tableau suivant indique les adresses dans la correcte par ordre croissant.

ID de l’ordinateur

Adresse 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

Pour rendre plus facile à comprendre les étapes nécessaires pour le tri ces adresses, vous annulez les adresses IP en quatre sections numériques. Les adresses doivent être triés par la première partie, puis pour chaque valeur dans la première partie, puis en fonction de la deuxième partie et ainsi de suite. Le tableau répertorie chaque partie dans une autre colonne et, comme les colonnes contiennent des valeurs numériques simples, il devient possible de trier les colonnes de gauche à droite dans l’ordre croissant, comme indiqué dans le tableau suivant.

Section

Section

Section

Conne

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23

Tri des quatre sections séparément est la difficulté de trier les adresses IP. Dans la procédure suivante, vous créez une requête qui, outre le champ adresse IP, contient quatre colonnes calculées dans lequel chaque colonne contient une partie de l’adresse. La première colonne calculée contiendra la première partie numérique de l’adresse, la deuxième colonne colonne contiendra la deuxième partie de l’adresse et ainsi de suite. Au lieu de trier les enregistrements sur le champ adresse IP, la requête trier les enregistrements par les quatre colonnes calculées.

Créer la requête

Vous allez créer une requête sélection nommée adresses IP triées qui affiche les enregistrements dans l’ordre croissant des adresses IP. Supposons que la base de données active possède une table nommée Détails machine qui inclut un champ de texte adresse IP.

  1. Cliquez sur créer > Création de requête. Remarque : Si vous utilisez Access 2007, sous l’onglet créer, dans le groupe autres, cliquez sur Création de requête.

  2. Dans la boîte de dialogue Afficher la Table, sous l’onglet Tables, cliquez sur Détails machine , puis sur Ajouter. Fermez la boîte de dialogue.

  3. Faites glisser les champs ID de l’ordinateur et l’adresse IP à la grille de création de requête.

  4. Vous êtes maintenant prêt à ajouter les colonnes calculées. Dans la première colonne vide à droite, tapez l’expression section : Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) dans la ligne champ. L’expression renvoie les caractères qui précède le premier point (.) dans le champ adresse IP.

    À présent, passez en revue l’expression. Étant donné que vous ne connaissez pas le nombre de chiffres composent la première partie de l’adresse, vous utilisez la InStr, fonction pour déterminer la position de la première période. Soustrayez la valeur 1 (pour exclure la période) renvoie le nombre de chiffres dans la première partie. Vous utilisez alors ce nombre avec la fonction Left pour extraire autant de caractères, en commençant par le caractère à l’extrême gauche, à partir du champ adresse IP. Pour finir, vous appelez le la fonction Val pour convertir les caractères renvoyés par la fonction gauche dans un nombre. Cette dernière étape est nécessaire car le type de données sous-jacente correspond à texte.

  5. Enregistrez la requête en cliquant sur Enregistrer dans la Barre d’outils Accès rapide. Il est recommandé de le faire après chaque étape intermédiaire.

  6. Ajouter la colonne pour la deuxième partie de l’adresse. Dans la colonne à droite de la section, tapez section : Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) dans la ligne champ. L’expression renvoie les caractères situés entre la première et deuxième période dans le champ adresse IP.

    Là encore, passez en revue l’expression. Étant donné que vous ne connaissez pas le nombre de chiffres composent la deuxième partie de l’adresse ou exactement où la seconde partie débute (parce que vous n’avez pas la première partie de l’intervalle de temps est), vous utilisez la fonction InStr pour trouver les positions des périodes. Vous utilisez ensuite la fonction Mid pour extraire les caractères qui suivent le premier point et précèdent le deuxième. Enfin, vous appelez la fonction Val pour convertir les caractères renvoyés par la fonction Mid en un nombre. Cette dernière étape est nécessaire car le type de données sous-jacente correspond à texte.

  7. Ajouter la colonne pour la troisième partie de l’adresse. Dans la colonne à droite de la section, tapez section : 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)) dans la ligne champ. L’expression renvoie les caractères situés entre les périodes de deuxième et troisième dans le champ adresse IP.

    Là encore, passez en revue l’expression. Étant donné que vous ne connaissez pas le nombre de chiffres composent la troisième partie de l’adresse ou exactement où la troisième partie débute (parce que vous ne connaissez pas la durée de la première et deuxième sections), vous utilisez la fonction InStr pour trouver les positions des périodes. Puis, vous utilisez la fonction Mid pour extraire les caractères qui suivent le deuxième point et qui précèdent la troisième. Enfin, vous appelez la fonction Val pour convertir les caractères renvoyés par la fonction Mid en un nombre. Cette dernière étape est nécessaire car le type de données sous-jacente correspond à texte.

  8. Ajouter la colonne de la section adresse quatrième et dernière. Dans la colonne à droite de la section, tapez conne : Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) dans la ligne champ. L’expression renvoie les caractères qui suivent le dernier point.

    Là encore, passez en revue l’expression. La clé consiste à trouver l’emplacement du troisième point puis extraire tous les caractères qui suivent. Comme vous ne savez pas exactement où la troisième période se trouve, vous appelez la fonction InStr trois fois pour trouver la position du troisième point. Vous utilisez ensuite la fonction Len pour calculer le nombre de chiffres dans la quatrième partie. Le nombre de chiffres renvoyés est ensuite utilisé avec la la fonction droite pour extraire autant de caractères à partir de la partie droite du champ adresse IP. Enfin, vous appelez la fonction Val pour convertir les caractères renvoyés par la fonction Mid en un nombre. Cette dernière étape est nécessaire car le type de données sous-jacente correspond à texte.

  9. Définir la ligne Trier des quatre colonnes calculées à croissant.

    Important    La ligne Trier de la colonne adresse IP doit être vide.

    Si vous voulez trier par d’autres valeurs de champ, outre les adresses, placez les champs à gauche ou à droite de quatre colonnes calculées. N’activez pas les autres champs de tri entre les colonnes calculées.

  10. L’étape suivante consiste à masquer les quatre colonnes calculées à partir de la feuille de données. Mais avant que vous effectuez qui, pour accéder à la feuille de données afficher pour afficher le résultat des expressions dans les colonnes calculées. Le tableau suivant montre les colonnes que s’affiche en mode feuille de données.

    ID de l’ordinateur

    Adresse IP

    Section

    Section

    Section

    Conne

    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. Revenez en mode Création et désactivez la case à cocher dans la ligne Afficher de quatre colonnes calculées. Les colonnes calculées cela empêche l’affichage en mode feuille de données.

  12. Vous pouvez également spécifier les critères d’exclusion des enregistrements de la requête.

  13. Basculez en mode feuille de données pour afficher les enregistrements dans l’ordre de tri. Vous verrez les enregistrements correctement triées par ordre croissant des adresses IP.

Autres utilisations des adresses IP triées

Valider les adresses IP lors de la saisie de données

Si vous souhaitez valider des adresses sans écrire du code, vous pouvez le faire dans une certaine mesure en attribuant la valeur du champ auquel #. ###. ###. ### ; 0 ; » « et la propriété Format du champ adresse IP à & & & & & & & & & & & &.

Quel est le masque de saisie ? Lorsque vous commencez à taper dans le champ adresse, le masque de saisie vous empêche d’entrer des caractères autres que des nombres et des espaces entre les trois points. Si un composant numérique est un nombre à deux chiffres, laissez le troisième chiffre vierge ou tapez un espace à la place. Notez que ce masque de saisie sans avertir l’utilisateur qu’il a omis à taper un ou plusieurs composants de l’adresse ou saisi uniquement des espaces au lieu d’une valeur numérique. Par exemple, « 345.. 3. » est accepté comme une adresse valide.

Quel est le format d’affichage ? Lorsque vous avez tapé votre texte et laissez le champ, le format d’affichage supprime les espaces de l’adresse et affiche uniquement les nombres et les périodes. Par conséquent, si vous avez tapé « 354.35.2.12 », l’adresse est affichée en tant que « 354.35.2.12 ». Notez que si vous cliquez à l’intérieur de l’adresse, ou appuyez sur F2 (pour passer en mode édition) lorsque l’adresse est activée, les espaces seront affiche à nouveau.

Conseil : Si vous voulez copier une adresse, accéder à la colonne précédente ou contrôle, appuyez sur TAB sélectionner l’adresse mise en forme, puis cliquez sur Copier. En procédant ainsi, vous copierez pas la chaîne d’adresse contenant des espaces.

Trier des enregistrements dans un formulaire ou un état par les adresses IP

Si vous avez besoin créer un formulaire ou un état dans lequel les enregistrements sont triés par les adresses IP, baser le nouvel objet sur une requête qui trie les adresses comme indiqué précédemment, plutôt que sur la table qui contient les adresses.

Haut de la page

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×