Compartir a través de


Comprobar reglas de nivel de registro

Las reglas a nivel de registro, al igual que las reglas a nivel de campo, se activan cuando el valor del registro cambia. Independientemente de cómo trabaje con los datos, ya sea en una ventana Examinar, en un formulario, en otra ventana de interfaz de usuario o con comandos que modifiquen los datos, Visual FoxPro comprueba las reglas a nivel de registro cuando desplaza el puntero de registro fuera del registro. Si no ha cambiado ningún valor del registro, la regla a nivel de registro no se comprobará al desplazar el puntero de registro. Puede desplazarse por los registros libremente sin que el sistema valide los datos.

Si modifica un registro, pero no desplaza el puntero de registro y cierra la ventana Examinar, la regla se comprobará. Aparecerá un aviso si se producen errores y luego se cerrará la ventana Examinar.

Precaución   No incluya en las reglas de validación comandos o funciones que intenten desplazar el puntero de registro del área de trabajo actual (es decir, del área de trabajo cuyas reglas se están comprobando). El uso de comandos o funciones tales como SEEK, LOCATE, SKIP, APPEND, APPEND BLANK, INSERT o AVERAGE, COUNT, BROWSE y REPLACE FOR en las reglas de validación puede causar su desencadenamiento recursivo, produciendo una condición de error.

Al contrario que los desencadenadores, las reglas a nivel de registro se activan incluso cuando los datos se encuentran en búfer. Para el caso de que durante la ejecución de una aplicación se active una regla a nivel de registro, es necesario incluir código de control de errores. Normalmente, este código no permitirá que la aplicación abandone el formulario (o que cambie el entorno activo, hablando de forma más genérica), hasta que el usuario corrija el error detectado o cancele la actualización.

Quitar de una base de datos una tabla con reglas asociadas

Si quita o elimina una tabla de una base de datos, se eliminarán de la base de datos todas las reglas a nivel de campo y a nivel de registro vinculadas a la tabla. Esto se debe a que las reglas se almacenan en el archivo .dbc, y al quitar una tabla de la base de datos se rompe el vínculo entre el archivo .dbf y su archivo .dbc. Sin embargo, los procedimientos almacenados a los que haga referencia la regla quitada o eliminada no se eliminarán. No se eliminan automáticamente, ya que aún pueden utilizarlos otras reglas de otras tablas que permanezcan en la base de datos.

Vea también

Saber cuándo se comprueban las reglas de nivel de campo | Uso de desencadenadores | Trabajar con tablas | Exigir reglas de empresa | Crear desencadenadores | Controlar la presentación de un campo