Crear una regla de validación para validar los datos de un campo

Crear una regla de validación para validar los datos de un campo

Puede prohibir o validar datos mediante reglas de validación al escribirlos en bases de datos de escritorio de Access. Puede usar el generador de expresiones para ayudarle a dar formato a la regla correctamente. Puede establecer reglas de validación en la vista de diseño de tabla o en la de hoja de datos de tabla. Hay tres tipos de reglas de reglas de validación en Access:

1. Regla de validación de campo    Puede usar una regla de validación de campo para especificar un criterio que deben cumplir todos los valores de campo válidos. No debería tener que especificar el campo actual como parte de la regla a no ser que use el campo en una función.  Las restricciones sobre los tipos de caracteres que se escriban en un campo pueden aplicarse más fácilmente con una máscara de entrada. Por ejemplo, un campo de fecha podría tener una regla de validación que no permita valores del pasado.

Ejemplos rápidos:

Impedir valores de fecha del pasado: >=Fecha()

Por lo general, se acepta este formato de correo electrónico: Is Null OR ((Like "*?@?*.?*") AND (Not Like "*[ ,;]*"))

Número inferior o igual a cinco: <=5

El campo Divisa no puede ser negativo: >=0

Restringir la longitud de caracteres de una cadena: Len([NombreCampoCadena])<100

Aparece una regla de validación de campo en el Diseñador de tablas de Access

2. Regla de validación de registro    Puede usar una regla de validación de registro para especificar una condición que necesitan cumplir todos los registros válidos. Puede comparar valores de distintos campos con una regla de validación de registro. Por ejemplo, un registro con dos campos de fecha puede necesitar que los valores de un campo siempre sean anteriores a los del otro (por ejemplo, que FechaDeInicio sea anterior a FechaDeFinalización).

Ejemplos rápidos:

Asegurarse de que la fecha de finalización no precede a la fecha de inicio: [Fecha de finalización]>=[Fecha de inicio]

Escribir una fecha obligatoria que esté dentro de un plazo de 30 días a partir de la fecha del pedido: [FechaObligatoria]<=[FechaPedido]+30

Una regla de validación de tabla del Diseñador de tablas de Access.

3. Validación en un formulario    Puede usar la propiedad Regla de validación de un control de un formulario para especificar un criterio que deben cumplir todos los valores indicados para ese control. La propiedad de control Regla de validación funciona como una regla de validación de campo. Normalmente, se usa una regla de validación de formulario en lugar de una regla de validación de campo si se trata de una regla específica del formulario y no de la tabla, sin importar donde se use.

En este artículo

Información general

En este artículo se explica cómo usar las reglas de validación y el texto de validación en los campos de tabla y los controles de formulario. Una regla de validación es una forma de limitar la información que se escribe en un campo de tabla o en un control (como un cuadro de texto) de un formulario. Con el texto de validación se puede incluir un mensaje que sirva de ayuda a los usuarios que escriben datos no válidos.

Cuando se escriben datos, Access comprueba si se ha infringido alguna regla de validación y, si así es, los datos escritos no se aceptan y Access muestra un mensaje.

Access ofrece varias formas de restringir la entrada de datos:

  • Tipos de datos    Todos los campos de una tabla tienen un tipo de datos que restringe lo que pueden escribir los usuarios. Por ejemplo, un campo de fecha y hora solo acepta valores de fecha y hora, un campo de moneda solo acepta datos de moneda, etc.

  • Propiedades de campo    Algunas propiedades de campo restringen la entrada de datos. Por ejemplo, la propiedad Tamaño del campo de un campo restringe la entrada al limitar la cantidad de datos.

    También puede usar la propiedad Regla de validación para que sea necesario escribir valores específicos, y la propiedad Texto de validación para informar de errores a los usuarios. Por ejemplo, si se escribe la regla >100 Y <1000 en la propiedad Regla de validación, se obliga a los usuarios a especificar valores comprendidos entre 100 y 1000. Una regla como [FechaFin]>=[FechaInicio] obliga a los usuarios a escribir una fecha de finalización igual o posterior a una fecha de inicio. Si se escribe el texto “Especifique valores entre 100 y 1000” o “Especifique una fecha de finalización igual o posterior a la fecha de inicio” en la propiedad Texto de validación, se indica a los usuarios que cometieron un error y se explica cómo corregirlo.

  • Máscaras de entrada    Se puede usar una máscara de entrada para validar los datos, lo que obliga a los usuarios a escribir los valores de una manera específica. Por ejemplo, una máscara de entrada puede obligar a los usuarios a escribir las fechas en un formato europeo, como 14/04/2007.

Estos métodos de validación de datos se pueden usar de forma aislada o combinados entre sí. Los tipos de datos no son opcionales y reportan la validación de tipo de datos más básica.

Para obtener más información sobre los tipos de datos, tamaños de campo y máscaras de entrada, vea el artículo Introducción a los tipos de datos y las propiedades de campo.

Tipos de reglas de validación

Se pueden crear dos tipos básicos de reglas de validación:

  • Reglas de validación de campo    Use una regla de validación de campo para comprobar el valor especificado en un campo al salir de él. Por ejemplo, imagine que tiene un campo Fecha y escribe >=#01/01/2010# en la propiedad Regla de validación de ese campo. La regla obligará a los usuarios a escribir fechas que coincidan con el 1 de enero de 2010 o sean posteriores. Si especifica una fecha anterior a 2010 e intenta colocar el foco en otro campo, Access no le permitirá abandonar el campo actual hasta que corrija el problema.

  • Reglas de validación de registro    Use una regla de validación de registro para controlar cuándo puede guardar un registro (una fila de una tabla). A diferencia de una regla de validación de campo, la regla de validación de registro hace referencia a otros campos de la misma tabla. Las reglas de validación de registro se crean cuando es necesario comprobar los valores de un campo en relación con los valores de otro campo. Por ejemplo, imagine que su empresa le obliga a enviar los productos en un plazo de 30 días y, si no lo hace, tendrá que reembolsar al cliente parte del precio de compra. Puede definir una regla de validación de registro como [FechaObligatoria]<=[FechaPedido]+30 para evitar que un usuario especifique una fecha de envío (el valor del campo FechaObligatoria) demasiado lejana en el futuro.

Si la sintaxis de las reglas de validación parece críptica, vea la sección Qué se puede incluir en una regla de validación, donde se explica la sintaxis y puede ver algunas reglas de validación de ejemplo.

Dónde usar las reglas de validación

Se pueden definir reglas de validación para los campos de tabla y los controles de los formularios. Cuando se definen reglas para tablas, esas reglas se aplican cuando se importan los datos. Para agregar reglas de validación a una tabla, hay que abrir la tabla y usar los comandos en la pestaña Campos de la cinta. Para agregar reglas de validación a un formulario, se abre el formulario en la vista Presentación y se agregan las reglas a las propiedades de los controles individuales.

Los pasos descritos en la sección Agregar una regla de validación a una tabla explican cómo agregar reglas de validación a los campos de una tabla. Los pasos descritos en la sección Agregar una regla de validación a un formulario, que aparece más adelante en este artículo, explican cómo agregar reglas a las propiedades de controles individuales.

Qué se puede incluir en una regla de validación

Las reglas de validación pueden contener expresiones (es decir, funciones que devuelven un solo valor). Una expresión se puede usar para realizar cálculos, manipular caracteres o comprobar datos. Una expresión de regla de validación comprueba datos. Por ejemplo, una expresión puede comprobar un valor de una serie de valores, como “Tokio” o “Moscú” o “París” o “Helsinki”. Las expresiones también realizan operaciones matemáticas. Por ejemplo, la expresión <100 obliga a los usuarios a escribir valores inferiores 100. La expresión ([FechaPedido] - [FechaEnvío]) calcula el número de días transcurrido entre la hora en que se realizó un pedido y la hora en que se envió.

Para obtener más información sobre el uso de las expresiones, consulte el artículo Generar una expresión.

Principio de página

Agregar una regla de validación a una tabla

Se puede agregar una regla de validación de campo o una regla de validación de registro. La primera comprueba la entrada en un campo y se aplica cuando el foco deja de ser el campo, mientras que la segunda comprueba la entrada en uno o más campos y se aplica cuando el foco deja de ser el registro. Por lo general, una regla de validación de registro compara los valores de dos o más campos.

Notas: Los siguientes tipo de campo no admiten reglas de validación:

  • Autonumeración

  • Objeto OLE

  • Datos adjuntos

  • Id. de replicación

Crear una regla de validación de campo

  1. Seleccione el campo que desee validar.

  2. En el grupo Validación de campos de la pestaña Campos, haga clic en Validación y, después, en Regla de validación de campo.

  3. Use el Generador de expresiones para crear la regla de validación. Para obtener más información sobre cómo usar el Generador de expresiones, vea el artículo sobre cómo usar el Generador de expresiones.

Crear un mensaje que se abre cuando la entrada en el campo no es válida

  1. Seleccione el campo donde sea necesario mostrar un mensaje cuando los datos especificados no sean válidos. Dicho campo debe contar ya con una regla de validación.

  2. En el grupo Validación de campos de la pestaña Campos, haga clic en Validación y, después, en Mensaje de validación de campo.

  3. Escriba un mensaje adecuado; por ejemplo, si la regla de validación es >10, el mensaje podría ser “Especifique un valor inferior a 10”.

Puede ver ejemplos de mensajes y reglas de validación de campo en la sección Referencia de reglas de validación.

Crear una regla de validación de registro

  1. Abra la tabla para la que quiera validar registros.

  2. En el grupo Validación de campos de la pestaña Campos, haga clic en Validación y, después, en Regla de validación de registro.

  3. Use el Generador de expresiones para crear la regla de validación. Para obtener más información sobre cómo usar el Generador de expresiones, vea el artículo sobre cómo usar el Generador de expresiones.

Crear un mensaje que se abre cuando la entrada en el registro no es válida

  1. Abra la tabla donde sea necesario mostrar un mensaje cuando los datos especificados no sean válidos. Dicha tabla debe contar ya con una regla de validación de registro.

  2. En el grupo Validación de campos de la pestaña Campos, haga clic en Validación y, después, en Mensaje de validación de registros.

  3. Escriba un mensaje adecuado. Por ejemplo, si la regla de validación es [FechaInicio]<[FechaFin], el mensaje podría ser “FechaInicio tiene que ser anterior a FechaFin”.

Principio de página

Contrastar los datos existentes con una nueva regla de validación

Si agrega una regla de validación a una tabla que ya existe, probablemente convenga comprobar la regla para ver si hay datos no válidos.

  1. Abra la tabla que quiera comprobar en la vista Diseño.

    En el grupo Herramientas de la pestaña Diseño, haga clic en Probar reglas de validación.

  2. Haga clic en para cerrar el mensaje de alerta e iniciar la prueba.

  3. Si se le pide si desea guardar la tabla, haga clic en .

  4. Puede que aparezcan varios mensajes de alerta a medida que avanza. Lea las instrucciones de cada mensaje y haga clic en o en No, según sea necesario, para realizar o detener la prueba.

Principio de página

Agregar una regla de validación a un formulario

Puede usar la propiedad Regla de validación y la propiedad Texto de validación de un control de formulario para validar los datos especificados en dicho control y para ayudar a los usuarios que escriben datos no válidos.

Sugerencia:  Si crea un formulario automáticamente a partir de una tabla mediante uno de los comandos Formulario de la cinta, la validación de los campos de la tabla subyacente se hereda de los controles correspondientes en el formulario.

Un control puede tener una regla de validación distinta que el campo de tabla al que dicho control está enlazado, lo que puede resultar útil si quiere que el formulario sea más restrictivo que la tabla. Se aplica la regla de formulario y, después, la de tabla. Si la tabla es más restrictiva que el formulario, la regla definida para el campo de tabla tendrá precedencia. Si ambas reglas se excluyen entre sí, no se podrá escribir ningún dato.

Por ejemplo, supongamos que aplica la siguiente regla a un campo de fecha de una tabla:

<#01/01/2010#

Pero, después, aplica esta regla al control de formulario enlazado al campo de fecha:

>=#01/01/2010#

El campo de fecha requiere ahora valores anteriores al año 2010, pero el control de formulario requiere fechas que sean de ese año o posteriores, por lo que no se puede especificar ningún dato.

Crear una regla de validación para un control

  1. Haga clic con el botón secundario en el formulario que quiera cambiar y, después, haga clic en Vista Presentación.

  2. Haga clic con el botón secundario en el control que quiera cambiar y, a continuación, haga clic en Propiedades para abrir la hoja de propiedades del control.

  3. Haga clic en la pestaña Todas y, a continuación, escriba la regla de validación en el cuadro de propiedad Regla de validación.

    Sugerencia:  Haga clic en el botón Generar para abrir el Generador de expresiones.

    Para obtener más información sobre cómo usar el Generador de expresiones, vea el artículo Usar el Generador de expresiones.

  4. Escriba un mensaje en el cuadro de propiedad Texto de validación.

Principio de página

Referencia a las reglas de validación

Las reglas de validación usan la sintaxis de expresiones de Access. Para obtener más información sobre las expresiones, vea el artículo Introducción a las expresiones.

Ejemplos de regla de validación y texto de validación

Regla de validación

Texto de validación

<>0

Especifique un valor que no sea cero.

>=0

El valor debe ser igual o mayor que cero.

-o bien-

Especifique un número positivo.

0 o >100

El valor debe ser igual que cero o mayor que 100.

ENTRE 0 Y 1

Especifique un valor con un signo de porcentaje (se usa con los campos que almacenan los valores numéricos como porcentajes).

<#01/01/2007#

Especifique una fecha anterior a 2007.

>=#01/01/2007# Y <#01/01/2008#

La fecha debe ser del año 2007.

<Fecha()

La fecha de nacimiento no puede ser una fecha futura.

CompCadena(Mayús([Apellidos]),
[Apellidos],0) = 0

Los datos del campo Apellidos deben escribirse en mayúsculas.

>=Int(Ahora())

Especifique la fecha de hoy.

H O M

Escriba H para hombre o M para mujer.

COMO "[A-Z]*@[A-Z].com" O "[A-Z]*@[A-Z].net" O "[A-Z]*@[A-Z].org"

Escriba una dirección de correo electrónico válida que termine en .com, .net u .org.

[FechaObligatoria]<=[FechaPedido]+30

Escriba una fecha obligatoria que no sea posterior a un plazo de 30 días a partir de la fecha de pedido.

[FechaFin]>=[FechaInicio]

Escriba una fecha de fin que sea igual o posterior a la fecha de inicio.

Ejemplos de sintaxis de operadores de regla de validación comunes

Operador

Función

Ejemplo

NO

Comprueba si hay valores opuestos. Se puede usar delante de cualquier operador de comparación, salvo NO ES NULO.

NO > 10 (es lo mismo que <=10).

EN

Comprueba si hay valores iguales a los elementos de una lista. El valor de comparación debe ser una lista de valores separados por comas que aparece entre paréntesis.

EN ("Tokio","París","Moscú")

ENTRE

Comprueba si hay un intervalo de valores. Debe haber dos valores de comparación (un valor alto y un valor bajo) y esos valores deben ir separados por el separador Y.  

ENTRE 100 Y 1000 (es lo mismo que >=100 Y <=1000)

COMO

Busca cadenas modelo coincidentes en los campos de tipo Texto y Memo.

COMO "Geo*"

NO ES NULO

Obliga a los usuarios a escribir valores en el campo. Equivale a establecer el valor de la propiedad de campo Requerido en . Sin embargo, cuando se habilita la propiedad Requerido y un usuario no especifica un valor, Access muestra un mensaje de error poco descriptivo. En general, el uso de las bases de datos resulta más fácil si se utiliza NO ES NULO y se escribe un mensaje descriptivo en la propiedad Texto de validación.

NO ES NULO

Y

Especifica que todas las partes de la regla de validación deben cumplirse.

>= #01/01/2007# Y <=#06/03/2008#

Nota: Se puede usar Y también para combinar reglas de validación. Por ejemplo: NO "Reino Unido" Y COMO "R*".

O

Especifica que algunas partes (no todas) de la regla de validación deben cumplirse.

enero O febrero

<

Menor que.

<=

Menor o igual que.

>

Mayor que.

>=

Mayor o igual que.

=

Igual que.

<>

Distinto de.

Usar caracteres comodín en las reglas de validación

Puede usar caracteres comodín en las reglas de validación. No olvide que Access admite dos juegos de caracteres comodín: ANSI-89 y ANSI-92. Cada uno de estos estándares usa un juego de caracteres comodín distinto.

De forma predeterminada, en todos los archivos .accdb y .mdb se usa el estándar ANSI-89.

Haga lo siguiente si desea cambiar el estándar ANSI de una base de datos a ANSI-92:

  1. En la pestaña Archivo, haga clic en Opciones.

  2. En el cuadro de diálogo Opciones de Access, haga clic en Diseñadores de objetos.

  3. En la sección Diseño de la consulta, en Sintaxis compatible con SQL Server (ANSI 92), seleccione Esta base de datos.

Para obtener más información sobre cómo usar caracteres comodín y los estándares ANSI en SQL, vea el artículo Información de referencia sobre los caracteres comodín en Access.

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.

×