Compartir a través de


Saber cuándo se comprueban las reglas de nivel de campo

Las reglas a nivel de campo se comprueban cuando se modifica el valor del campo. Al contrario que los desencadenadores, las reglas a nivel de campo se activan incluso cuando los datos se encuentran en búfer. Al trabajar con los datos en una ventana Examinar, en un formulario o en otra ventana, Visual FoxPro comprueba las reglas de nivel de campo al salir del campo correspondiente. Si el valor del campo no ha cambiado, la regla no se comprobará. Esto significa que puede desplazarse por los campos sin que el sistema valide su contenido.

Comprobación de las reglas a nivel de campo

Método de entrada de datos Ventana o comando Comprobación de la regla a nivel de campo
Interfaz de usuario Ventana Examinar
Formulario
Otra ventana
Al salir del campo, si el valor ha variado. (Si el valor no cambia, la regla no se comprueba).
Comandos que no especifican campos APPEND
APPEND GENERAL
APPEND MEMO
BROWSE
CHANGE
DELETE
EDIT
GATHER
Al cambiar el valor del campo, en el orden de definición de los campos.
  APPEND BLANK
INSERT
INSERT - SQL
Al anexar o insertar el registro.
Comandos que especifican campos UPDATE
UPDATE - SQL
REPLACE
En el orden en que aparecen los campos en el comando.

Validar valores a nivel de registro

Las reglas de validación a nivel de registro permiten controlar el tipo de información que el usuario puede introducir en los registros. Normalmente, las reglas de validación a nivel de registro comparan los valores de dos o más campos del mismo registro para asegurarse de que cumplen las reglas de empresa establecidas para la base de datos. Por ejemplo, puede utilizar una regla de validación a nivel de registro para asegurarse de que el valor de un campo sea siempre superior al de otro campo del mismo registro.

Para crear una regla de validación a nivel de registro y un mensaje de error personalizado

Por ejemplo, puede querer asegurarse de que los empleados tengan 18 o más años en el momento de su contratación. En el código siguiente se agrega a la tabla employee una regla de validación a nivel de registro y un texto de error para requerir que la fecha de contratación introducida en hire_date sea mayor o igual que la fecha de nacimiento más 18 años:

ALTER TABLE employee SET CHECK ;
   hire_date >= birth_date + (18 * 365.25) ;
   ERROR "Employees must be 18 years or older by date of hire"

Si el usuario introduce un registro de empleado con una fecha no válida, Visual FoxPro mostrará un cuadro de diálogo de error con el mensaje de error personalizado definido y no actualizará el registro.

También puede utilizar la cláusula SET CHECK del comando ALTER TABLE para crear una regla de validación a nivel de registro. Debe asegurarse de que las reglas especificadas para los campos no entren en conflicto semántico con las definidas para la tabla. Visual FoxPro no comprueba la coherencia entre las expresiones a nivel de campo y a nivel de registro.

Vea también

Exigir reglas de empresa | Comprobar reglas de nivel de registro | Trabajar con tablas | Uso de desencadenadores | Crear desencadenadores | Restringir el acceso a los campos