17 Feb Como eliminar registros y sincronizar la vista de datos
En este tutorial vamos a ver como podemos actualizar una vista de datos incrustada en un formulario sin origen después de eliminar uno de los registros que se encontraba en dicha vista de datos.
¿Sabes ya la respuesta?
Lo mas lógico sería añadir un botón para eliminar el registro en el formulario de edición de la ficha. El problema que tendríamos con este montaje sería que al estar fuera del ámbito del formulario principal (el formulario sin origen que contiene la vista de datos) nos sería imposible actualizar la vista de datos y recalcularla con los nuevos registros.
El montaje pasa por «lanzar» directamente desde el formulario principal la eliminación del registro.
¿Cómo eliminar registros y conseguir recalcular la vista de datos?
La idea es colocar un botón
A este botón le vamos a asignar un manejador de evento al que vamos a llamar «ELIMINAR_FICHA».
Antes de ver este manejador, necesitaremos crear una variable local del mismo tipo que el ID de la tabla cuyo registro queramos eliminar o otra booleana para saber si se pulsa el botón aceptar en el formulario de baja del registro (la vamos a llamar «B_OK»). Además tendremos que crear otro manejador de evento para saber en que registro estamos posicionados. A este manejador le vamos a llamar «CAMBIAR_REGISTRO».
Simplemente procesamos el control donde se encuentra la vista de datos, leemos el registro y se lo asignamos a la variable local que hemos creado para guardar la ficha sobre la que estamos posicionados.
Además tendremos que crear una conexión de evento para ejecutar este manejador. Se lo asociaremos a la señal «Item: Cambio de seleccionado» del control que contiene la vista de datos.
Una vez tenemos seleccionado el registro, al pulsar el botón «Papelera», se lanzará el manejador de evento asociado a dicho botón (en este caso el manejador «ELIMINAR_FICHA».
En este manejador de evento, primero cargamos la lista de la tabla cuyo registro queremos eliminar por el índice ID y como parámetro en la propiedad «Fórmula de resolución», ponemos la variable local cuyo valor hemos asignado en el manejador «CAMBIAR_REGISTRO».
Seleccionamos la ficha por posición (con el valor 1) y modificamos la ficha seleccionada con un formulario que previamente hemos creado (para saber si el usuario pulsa el botón
Si el usuario pulsa aceptar en el formulario (lo sabemos preguntando por el valor de «B_OK») eliminamos la ficha seleccionada y con la instrucción «Interfaz: Recalcular», recalcularemos la vista de datos que contenía el registro eliminado.
Esto es todo lo que tenemos que realizar para eliminar registros de una vista de datos y conseguir que se sincronice y actualice con los registros correctos. ¿Todo claro? ¿Alguna duda al respecto? Déjamela en los comentarios
No Comments