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

En este artículo se explica cómo agregar reglas de validación a una base de datos. Las reglas de validación restringen lo que los usuarios pueden escribir en un campo determinado y, además, ayudan a asegurar que los usuarios de la base de datos especifican el tipo o la cantidad de datos correctos.

¿Qué desea hacer?


Obtener información sobre las reglas de validación

Una regla de validación limita o controla lo que los usuarios pueden escribir en un campo de tabla o un control (como un cuadro de texto) de un formulario. Microsoft Office Access 2007 permite validar los datos de diversas maneras y, a menudo, se usan varias de esas técnicas para definir una regla de validación. Las reglas de validación se pueden considerar como un conjunto de capas y se pueden usar algunas o todas esas capas para asegurar que los usuarios escriben correctamente los datos.

  • Tipos de datos    En general, los tipos de datos representan la primera capa de validación. Cuando se diseña una tabla de base de datos, se define un tipo de datos para cada campo de la tabla y ese tipo de datos restringe lo que los usuarios pueden escribir. Por ejemplo, los campos de tipo Fecha/Hora aceptan únicamente fechas y horas, un campo de tipo Moneda acepta únicamente datos monetarios, etc.
  • Tamaños de campo    Los tamaños de campo son otra capa de validación. Por ejemplo, si se crea un campo que almacene nombres, se puede configurarlo de modo que acepte un máximo de 20 caracteres. De este modo, se puede evitar que usuarios malintencionados peguen grandes cantidades de texto incoherente en el campo, o bien, que un usuario sin experiencia escriba por error un nombre y un apellido en un campo diseñado para que sólo pueda contener un nombre.
  • Propiedades de tabla    Las propiedades de tabla proporcionan tipos de validación muy específicos. Por ejemplo, se puede establecer la propiedad Requerido en y, como resultado, obligar a los usuarios a escribir un valor en un campo.

Se puede usar asimismo la propiedad Regla de validación para requerir que se escriban valores específicos, y la propiedad Texto de validación para informar a los usuarios de los errores. 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 1.000. La regla [FechaFin]>=[FechaInicio] obliga a los usuarios a escribir una fecha de finalización igual o posterior a la fecha de inicio. Si se escribe el texto "Especifique valores comprendidos entre 100 y 1.000" 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 han cometido un error y se indica cómo corregirlo.

Para saber los pasos necesarios para agregar una regla de validación a un campo de tabla, vea la sección Validar datos al escribirlos en los campos de una tabla, más adelante en este artículo.

  • Máscaras de entrada    Se puede usar una máscara de entrada para validar los datos obligando a los usuarios a escribir los valores de una manera determinada. Por ejemplo, una máscara de entrada puede obligar a los usuarios a escribir las fechas en un formato europeo, como 14.04.2007.

Puede usar algunas o todas estas técnicas para validar los datos. Algunas de estas características, como los tipos de datos, forman parte de la base de datos de forma predeterminada, pero otras técnicas, como las propiedades de campo, las reglas de validación y las máscaras de entrada, las puede usar a su discreción.

En este artículo se explica cómo usar las propiedades Texto de validación y Regla de validación en los campos de tabla, consultas y controles de formulario. En este artículo no se abordan las demás herramientas de validación, como son los tipos de datos, los tamaños de campo y las máscaras de entrada.

Para obtener más información sobre los tipos de datos y los tamaños de campo, vea los artículos Modificar o cambiar el tipo de datos definido para un campo. Para obtener más información sobre las máscaras de entrada, vea el artículo Crear una máscara de entrada para especificar los valores de campos o controles con un formato determinado.

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 del campo. Por ejemplo, supongamos que tiene un campo de fecha y especifica >=#01/01/2007# en la propiedad Regla de validación de ese campo. La regla obliga a los usuarios a escribir fechas que coincidan o sean posteriores al 1 de enero de 2007. Si especifica una fecha anterior a 2007 e intenta ir a otro campo, Access evitará que salga del campo hasta que solucione el problema.
  • Reglas de validación de registro (o tabla)    Use una regla de validación de registro para controlar cuándo puede guardar un registro (una fila de una tabla). A diferencia de las reglas de validación de campo, las reglas de validación de registro hacen referencia a otros campos de la misma tabla. Las reglas de validación de registro sirven para comprobar los valores de un campo con respecto a los valores de otro campo. Por ejemplo, supongamos que su compañía le obliga a enviar los productos en un plazo de 30 días y, si no lo hace, deberá reembolsar al cliente parte del precio de compra. Podrá definir una regla de validación de registro como [FechaObligatoria]<=[FechaPedido]+30 para evitar que alguien especifique una fecha de envío (el valor del campo FechaObligatoria) demasiado lejana.

Si la sintaxis de las reglas de validación parece críptica, en las tablas de la sección Lo que se puede incluir en una regla de validación se explica la sintaxis y se muestran algunas reglas de validación de ejemplo.

Dónde usar las reglas de validación

Se pueden definir reglas de validación para las tablas y los controles de 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, se abre la tabla en la vista Diseño y se configuran varias propiedades de la tabla. Para agregar reglas de validación a un formulario, se abre el formulario en la vista Diseño y se agregan las reglas a las propiedades de los controles individuales.

Los pasos descritos en la sección Validar datos al escribirlos en los campos de una tabla explican cómo se agregan las reglas de validación a las propiedades de los campos de una tabla. Los pasos descritos en la sección Validar datos al incluirlos en un formulario, que aparece más adelante en este artículo, explican cómo se agregan las reglas a las propiedades de los controles individuales.

Lo que 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. Las expresiones se pueden usar para realizar cálculos, manipular caracteres o comprobar datos. Cuando se crean reglas de validación, se usan las expresiones principalmente para comprobar datos. Por ejemplo, una expresión puede comprobar si existe un valor de una serie de valores, como "Tokio" O "Moscú" O "París" O "Helsinki". Las expresiones también pueden realizar operaciones matemáticas. Por ejemplo, la expresión <100 obliga a los usuarios a especificar valores menores que 100. La expresión ([FechaPedido] - [FechaEnvío]) calcula el número de días transcurridos entre la fecha en que se hizo el pedido y la fecha de envío.

En este artículo no se abordan las expresiones ni las funciones. Para obtener más información sobre las expresiones, vea el artículo Crear una expresión. Para obtener más información sobre las funciones, vea los artículos en Microsoft Office Online.

Para obtener ejemplos de cómo se pueden usar las expresiones para validar datos, vea la sección Validar los datos de un registro.

Los pasos descritos en las siguientes secciones explican cómo se validan los datos de tablas, formularios, consultas y operaciones de importación.

Volver al principio Volver al principio

Validar datos al escribirlos en los campos de una tabla

Los pasos descritos en esta sección explican cómo crear reglas de validación para campos y registros, y explican cómo probar una nueva regla de validación con datos existentes.

Se pueden especificar reglas de validación para todos los tipos de datos, salvo Autonumérico, Objeto OLE, Datos adjuntos y campos de tipo Número definidos como Id. de réplica.

Validar los datos de un campo

  1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla que desee cambiar y, a continuación, haga clic en Vista Diseño.
  2. En la columna Nombre del campo, seleccione el campo que desee cambiar.
  3. En la sección inferior del diseñador de consultas, en la ficha General, seleccione el cuadro de la propiedad Regla de validación y, a continuación, escriba la regla de validación.

O bien,

Haga clic en la ficha Datos de la hoja de propiedades, haga clic en Imagen del botón a continuación para iniciar el Generador de expresiones y crear una expresión.

Para obtener más información sobre el uso del Generador de expresiones, vea el artículo Crear una expresión.

Escriba una regla que se aplique únicamente al campo. Por ejemplo, puede escribir >0 para obligar a los usuarios a especificar valores positivos. Recuerde que las reglas de validación de un campo no hacen referencia a otros campos de la tabla. Si la regla hace referencia a otros campos, se trata de una regla de validación de registro.

  1. Seleccione el cuadro de propiedad Texto de validación y escriba un mensaje de validación.

Este mensaje depende de la regla de validación. Escriba un mensaje breve e intente explicar el error que ha cometido el usuario. Para continuar con el ejemplo del paso anterior, podría usar Escriba sólo números positivos como texto de validación.

  1. Guarde el trabajo.

 Nota   Para obtener más ejemplos de la validación de campos, vea la sección Referencia de validación, más adelante en este artículo.

Validar los datos de un registro

  1. Repita los pasos 1 y 2 de la anterior sección para abrir una tabla en la vista Diseño.
  2. En la ficha General, escriba una regla de validación de registro en el cuadro de propiedad Regla de validación.

O bien,

Haga clic en Imagen del botón a continuación para iniciar el Generador de expresiones y crear una expresión.

Para obtener más información sobre el uso del Generador de expresiones, vea el artículo Crear una expresión.

Una regla de validación de registro hace referencia a varios campos de tabla. Por ejemplo, la regla [FechaObligatoria]<=[FechaPedido]+30 hace referencia a dos campos de tabla, FechaObligatoria y FechaPedido, y asegura que los usuarios especifiquen fechas de envío que no sean posteriores a un plazo de 30 días a partir de la fecha del pedido. Para obtener más ejemplos de la validación de registro, vea la sección Referencia de validación.

  1. Guarde los cambios.

Probar las reglas de validación

  1. Abra la tabla que contiene la regla de validación en la vista Diseño.
  2. En el grupo Herramientas de la ficha Diseño, haga clic en Probar reglas de validación.
  1. Haga clic en para cerrar el mensaje de alerta e iniciar la prueba.
  2. Si se pregunta si desea guardar la tabla, haga clic en .
  3. Puede que aparezcan varios mensajes de alerta a medida que proceda. Lea las instrucciones de cada mensaje y, a continuación, haga clic en o No, según proceda, para realizar o detener la prueba.

Probar las reglas de validación mediante una consulta

 Nota   Puede probar las reglas de validación escribiendo una consulta que compruebe si hay registros que no cumplen la regla de validación. Los resultados de esa consulta muestran exactamente los registros que no cumplen los requisitos de validación. Por ejemplo, si establece la propiedad Requerido en o en No es Nulo, comprobará los campos cuyo valor no sea nulo.

  1. En el grupo Otros de la ficha Crear, haga clic en Diseño de consulta.

Imagen de la Cinta de opciones de Access

Access abre una nueva consulta en la vista Diseño y muestra el cuadro de diálogo Mostrar tabla.

  1. En el cuadro de diálogo Mostrar tabla, seleccione las tablas que desee usar en la consulta, haga clic en Agregar para agregarlas a la consulta y, a continuación, haga clic en Cerrar.

Las tablas seleccionadas aparecen como ventanas en la sección superior del diseñador de consultas.

  1. En cada tabla, haga doble clic en los campos que desee incluir en la consulta.

O bien,

Arrastre los campos de la tabla y colóquelos en una celda en blanco de la fila Campo situada en la parte inferior de la cuadrícula de diseño.

Asegúrese de agregar el campo que contiene la regla de validación.

  1. En la celda Criterios del campo que contiene la regla de validación, escriba lo contrario de esa regla.

Por ejemplo, si usa ENTRE 100 Y 1000, escriba <100 O >1000.

  1. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar.

Volver al principio Volver al principio

Validar datos al escribirlos en un formulario

La manera más fácil y más rápida de aplicar una regla de validación a un formulario es agregar primero la regla al campo de tabla subyacente y, a continuación, usar las herramientas de creación de formulario automatizada incluidas en Access para crear un formulario. Por ejemplo, en la ficha Crear, en el grupo Formularios, puede optar por la creación de un formulario simple, un formulario dividido, un formulario de varios elementos, etc. Cuando usa una de estas herramientas, los controles del formulario heredan las propiedades de tabla subyacentes, inclusive las reglas de validación y el texto de validación.

Asimismo, puede aplicar una regla de validación a un control de formulario abriendo el formulario en la vista Diseño y agregando una regla a la propiedad Regla de validación y el texto del mensaje a la propiedad Texto de validación del control. Se pueden agregar reglas de validación a algunos controles de formulario, no a todos. La manera más fácil de determinar si se puede agregar una regla de validación a un control es abrir el formulario en la vista Diseño y seguir los pasos descritos en esta sección.

Recuerde que un control puede tener otra regla de validación que el campo de tabla al que está enlazado. Cuando existe un conflicto entre las reglas de validación, la regla definida para el campo de tabla tiene prioridad. Asimismo, recuerde que las reglas de controles y campos de tabla pueden cancelarse mutuamente y, por lo tanto, impedir que se introduzcan datos. Por ejemplo, supongamos que aplica la siguiente regla a un campo de fecha de una tabla:

<#01/01/2007#

Y, a continuación, aplica esta regla al control de formulario enlazado al campo de tabla:

>=#01/01/2007#

El campo de tabla requiere ahora valores anteriores al año 2007, pero el control de formulario le obliga a especificar fechas posteriores a ese año, por lo que no puede especificar ningún dato. Si lo intenta en estas condiciones, Access le indicará que especifique fechas anteriores y posteriores a las definidas por las reglas de validación en conflicto, por lo que se encontrará en un callejón sin salida.

En los siguientes pasos se explica cómo agregar reglas de validación a los controles, cómo bloquear los controles y, por consiguiente, evitar que los usuarios cambien los datos.

Crear una regla de validación

  1. En el panel de exploración, haga clic con el botón secundario del mouse en el formulario que desee cambiar y, a continuación, haga clic en Vista Diseño.
  2. Haga clic con el botón secundario en el control que desee cambiar y, a continuación, haga clic en Propiedades para abrir la hoja de propiedades del control.
  3. Haga clic en la ficha Todas y, a continuación, escriba la regla de validación en el cuadro de propiedad Regla de validación.

O bien,

Haga clic en Imagen del botón a continuación para iniciar el Generador de expresiones y crear una expresión.

Para obtener más información sobre el uso del Generador de expresiones, vea el artículo Crear una expresión.

  1. Escriba un mensaje en el cuadro de propiedad Texto de validación.
  2. Guarde los cambios.

Bloquear un control

  1. Siga los pasos 1 y 2 descritos en la sección anterior para abrir la hoja de propiedades del control que desee bloquear.
  2. Haga clic en la ficha Todas, busque los cuadros de propiedad Activado y Bloqueado y, a continuación, siga uno de estos procedimientos:
    • Para deshabilitar el control (de modo que aparezca atenuado y no esté disponible para tener el foco), establezca el valor de la propiedad Activado en No.
    • Para que se puedan leer los datos del control pero los usuarios no puedan cambiarlos, establezca la propiedad Bloqueado en . Si establece la propiedad Activado en No y la propiedad Bloqueado en , el control no aparecerá atenuado pero no podrá tener el foco.

Volver al principio Volver al principio

Validar datos durante las operaciones de importación

Cuando se agregan reglas de validación a una tabla y, a continuación, se importan datos a esa tabla, Access aplica las reglas de validación a los datos importados. La misma regla se aplica cuando se vincula a datos.

Para obtener más información sobre la importación o la vinculación a datos, vea los siguientes artículos:

Volver al principio Volver al principio

Referencia a las reglas de validación

En las siguientes tablas se muestra información de referencia sobre las reglas de validación, inclusive la sintaxis usada por las reglas más comunes, vínculos a información sobre el uso de los caracteres comodín en las reglas y ejemplos que se pueden adaptar para usarlos con datos propios.

Ejemplos de reglas de validación

La siguiente tabla incluye ejemplos de reglas de validación de campo y de registro, además de texto de validación explicativo. Estos ejemplos se pueden adaptar a los datos propios.

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 finalización que sea igual o posterior a la fecha de inicio.

Sintaxis de las reglas de validación comunes

Las expresiones en las reglas de validación no tienen ninguna sintaxis especial. En esta sección se explica la sintaxis de algunos de los tipos más comunes de reglas de validación. Recuerde que las expresiones y funciones pueden llegar a ser muy complejas, por lo que no se abordan de manera exhaustiva en este artículo.

Para obtener más información sobre las expresiones, vea el artículo Crear una expresión. Para obtener información sobre las funciones, vea el artículo Funciones (organizadas por categoría).

Tenga en cuenta estas reglas cuando cree expresiones:

  • Escriba los nombres de los campos de tabla entre corchetes; por ejemplo: [FechaObligatoria]<=[FechaPedido]+30.
  • Escriba las fechas entre signos de almohadilla (#); por ejemplo: <#01/01/2007#.
  • Escriba los valores de texto entre comillas dobles; por ejemplo: EN ("Tokio","París","Moscú"). Además, observe que los elementos van separados con una coma y las listas aparecen entre paréntesis.

Además de estas reglas, en la siguiente tabla se muestran los operadores aritméticos comunes y ejemplos de cómo usarlos.

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. Deben 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 todos los datos que se especifiquen deben ser verdaderos o estar dentro de los límites especificados.

>= #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 uno o varios datos pueden ser verdaderos. 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 en las reglas de validación cualquiera de los caracteres comodín proporcionados por Access. Recuerde que Access admite dos juegos de caracteres comodín porque admite dos estándares de Lenguaje de consulta estructurado (SQL), que es el lenguaje que se usa para crear y administrar las bases de datos: ANSI-89 y ANSI-92. Cada uno de esos estándares usa un juego de caracteres comodín distinto.

De forma predeterminada, todos los archivos .accdb y .mdb usan el estándar ANSI-89; sin embargo, los proyectos de Access usan el estándar ANSI-92. Si no conoce Access, en un proyecto de Access, las tablas de la base de datos residen en un equipo en el que se ejecuta Microsoft SQL Server, mientras que los formularios, informes y otros objetos residen en otros equipos. Si lo desea, puede cambiar el estándar ANSI para los archivos .accdb y .mdb a ANSI-92.

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

Volver al principio Volver al principio

 
 
Corresponde a:
Access 2007