Direcciones IP de ordenar en Access

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Este tema describe el procedimiento para ordenar direcciones de protocolo de Internet (IP) almacenadas en una base de datos de Access.

Introducción

Si trabaja con direcciones IP, probablemente ya sabe que no es tan sencillo como trabajar con texto o números. Esto es porque una dirección IP realmente es una colección de cuatro valores numéricos separados por un punto (.), donde cada valor es un número entre 0 y 255. La siguiente tabla muestra los datos antes de que se aplique ningún criterio de ordenación.

Id. del equipo

Employee

Ubicación

Dirección 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

Ordenar direcciones IP en Access es un reto porque Access no proporciona un tipo de datos especiales para almacenar direcciones IP. Aunque una dirección IP es sólo un conjunto de números, no puede almacenar las direcciones IP en un campo numérico. Esto es porque un campo numérico admite sólo un decimal (.), mientras que una dirección IP contiene tres puntos (.). Esto significa que debe almacenar las direcciones en un campo de texto.

Dado que almacena las direcciones IP en un campo de texto, no puede usar los botones Ordenar integrados en Access para ordenar las direcciones de forma significativa. Los botones Ordenar siempre ordenan los valores en un campo de texto en orden alfabético, incluso si los caracteres son números. En otras palabras, las direcciones se ordenan por el primer dígito, a continuación, en el segundo dígito etc., en lugar de por los valores numéricos que componen la dirección. La siguiente tabla muestra las direcciones de la tabla anterior ordenadas en orden alfabético en el campo dirección IP.

Id. del equipo

Dirección 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

Las direcciones que comienzan con 1 se muestran antes de las direcciones que comienzan con 2 y así sucesivamente. La siguiente tabla muestra las direcciones en el correcto orden ascendente.

Id. del equipo

Dirección 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

Para que sea más fácil de entender los pasos necesarios para la ordenación de estas direcciones, se dividen las direcciones IP en cuatro partes numéricas. Las direcciones deben estar ordenadas por la primera parte, a continuación, para cada valor de la primera parte, después por la segunda parte y así sucesivamente. La tabla muestra cada parte en una columna diferente y, dado que las columnas almacenan valores numéricos, es posible ordenar las columnas de izquierda a derecha en orden ascendente, como se muestra en la tabla siguiente.

ParteI

ParteII

ParteIII

ParteIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23

Ordenar las cuatro partes por separado es el truco detrás ordenar direcciones IP. En el siguiente procedimiento, cree una consulta que, además del campo de dirección IP, incluye cuatro columnas calculadas, donde cada columna almacena un elemento de los valores de dirección. La primera columna calculada mantenga la primera parte numérica de la dirección, la segunda columna calculada almacenará la segunda parte numérica de la dirección y así sucesivamente. En lugar de ordenar los registros por el campo dirección IP, la consulta ordenará los registros por las cuatro columnas calculadas.

Crear la consulta

Va a crear una consulta de selección denominada ordenadas que muestre los registros en orden ascendente de direcciones IP. Supongamos que la base de datos actual tiene una tabla denominada Detalles equipo que incluye un campo de texto denominado dirección IP.

  1. Haga clic en crear > Diseño de la consulta. Tenga en cuenta si usa Access 2007, en la ficha crear, en el grupo otros, haga clic en Diseño de la consulta.

  2. En el cuadro de diálogo Mostrar tabla, en la pestaña tablas, haga clic en Detalles equipo y, a continuación, haga clic en Agregar. Cierre el cuadro de diálogo.

  3. Arrastre los campos ID a la cuadrícula de diseño de consulta.

  4. Ya está listo para agregar las columnas calculadas. En la primera columna en blanco de la derecha, escriba la expresión ParteI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) en la fila campo. La expresión devuelve los caracteres anteriores al primer punto (.) en el campo dirección IP.

    Ahora, revise la expresión. Como no sabe cuántos dígitos forman la primera parte de la dirección, utilice la función EnCad para localizar la posición del primer período. Resta 1 (para excluir el punto) devuelve el número de dígitos de la primera parte. A continuación, usar este número con la función Left para extraer esos caracteres, empezando desde el carácter más a la izquierda, en el campo dirección IP. Por último, llame a la la función Val para convertir los caracteres que devuelve la función Left en un número. Este último paso es necesario porque el tipo de datos subyacente es texto.

  5. Guarde la consulta haciendo clic en Guardar en la Barra de herramientas de acceso rápido. Es una buena idea hacerlo después de cada paso intermedio.

  6. Agregar la columna de la segunda parte de la dirección. En la columna a la derecha de ParteI, escriba ParteII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) en la fila campo. La expresión devuelve los caracteres que se encuentran entre los períodos primeros y segundo en el campo dirección IP.

    De nuevo, revise la expresión. Como no sabe cuántos dígitos forman la segunda parte de la dirección ni exactamente dónde comienza la segunda parte (porque desconoce la longitud de la primera parte), utilice la función InStr para encontrar la posición de los períodos. Después de usar el función Mid para extraer los caracteres que le siguen del primer punto pero antes del segundo punto. Finalmente, llame a la función Val para convertir los caracteres que devuelve la función Mid en un número. Este último paso es necesario porque el tipo de datos subyacente es texto.

  7. Agregue la columna para la tercera parte de la dirección. En la columna a la derecha de ParteII, escriba ParteIII: 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)) en la fila campo. La expresión devuelve los caracteres situados entre el segundo y tercer período en el campo dirección IP.

    De nuevo, revise la expresión. Porque no sabe cuántos dígitos forman la tercera parte de la dirección ni exactamente dónde comienza la tercera parte (porque desconoce la cuánto de la primera y segunda parte), utilice la función EnCad para buscar las posiciones de los períodos. A continuación, use la función Mid para extraer los caracteres que siguen al segundo punto pero antes del tercero. Finalmente, llame a la función Val para convertir los caracteres que devuelve la función Mid en un número. Este último paso es necesario porque el tipo de datos subyacente es texto.

  8. Agregue la columna para la cuarta y última parte. En la columna a la derecha de ParteIII, escriba ParteIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) en la fila campo. La expresión devuelve los caracteres que siguen al último punto.

    De nuevo, revise la expresión. Es la clave encontrar la ubicación del tercer punto y, a continuación, extraer todos los caracteres que le siguen. Porque no sabe dónde está exactamente el tercer punto, llame a la función InStr tres veces para encontrar la posición del tercer punto. Después de usar el función Len para calcular el número de dígitos de la cuarta parte. El número de dígitos devueltos se utiliza con la función DER para extraer esos caracteres de la parte derecha del campo dirección IP. Finalmente, llame a la función Val para convertir los caracteres que devuelve la función Mid en un número. Este último paso es necesario porque el tipo de datos subyacente es texto.

  9. Establezca la fila Ordenar de las cuatro columnas calculadas en ascendente.

    Importante    La fila Ordenar de la columna dirección IP debe estar en blanco.

    Si desea ordenar por otros valores de campo, además de las direcciones, coloque los campos a la izquierda o la derecha de las cuatro columnas calculadas. No coloque los otros campos de ordenación entre las columnas calculadas.

  10. El siguiente paso es ocultar las cuatro columnas calculadas en la hoja de datos. Pero antes de hacer, cambiar a la hoja de datos para ver el resultado de las expresiones de las columnas calculadas. La siguiente tabla muestra las columnas que se muestra en la vista Hoja de datos.

    Id. del equipo

    Dirección IP

    ParteI

    ParteII

    ParteIII

    ParteIV

    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. Vuelva a la vista Diseño y desactive la casilla de verificación en la fila Mostrar de las cuatro columnas calculadas. Impide que las columnas calculadas que se muestran en la vista Hoja de datos.

  12. Opcionalmente, especifique criterios para excluir registros de la consulta.

  13. Cambiar a la vista de hoja de datos para ver los registros en orden alfabético. Verá los registros correctamente ordenados en orden ascendente de las direcciones IP.

Más usos para direcciones IP ordenadas

Validar las direcciones IP durante la entrada de datos

Si desea validar las direcciones sin escribir código, puede hacerlo de forma limitada estableciendo la propiedad máscara de entrada del campo #. ###. ###. ###; 0; " " y la propiedad formato del campo de dirección IP a & & & & & & & & & & & &.

¿Qué hace la máscara de entrada? Cuando se comienza a escribir en el campo dirección, la máscara de entrada impide que pueda escribir caracteres que no son números y espacios entre los tres puntos. Si una parte numérica es un número de dos dígitos, deje el tercer dígito en blanco o escriba un espacio en su lugar. Tenga en cuenta que esta máscara de entrada no advertir al usuario si omite escribir una o varias partes de la dirección o escribe sólo espacios en lugar de un valor numérico. Por ejemplo, "345.. 3. "¿aceptado como una dirección válida.

¿Qué hace el formato de presentación? Cuando termine de escribir y deje el campo, el formato de presentación quita los espacios de la dirección y muestra sólo los números y los períodos. Por tanto, si ha escrito "354.35.2.12", la dirección se muestra como "354.35.2.12". Tenga en cuenta que si hace clic dentro de la dirección o presione F2 (para entrar en modo de edición) cuando se selecciona la dirección, volverán a aparecer los espacios.

Sugerencia: Si desea copiar una dirección, desplácese a la columna o control anterior, presione TAB para seleccionar la dirección con formato y, a continuación, haga clic en Copiar. Al hacer esto, no copiará la cadena de dirección que contiene espacios.

Ordenar registros en un formulario o informe mediante direcciones IP

Si necesita crear un formulario o informe en el que se ordenan los registros por direcciones IP, base el nuevo objeto en una consulta que ordena direcciones, como se describió anteriormente, en lugar de en la tabla que almacena las direcciones.

Principio de página

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×