PDA

Ver la Versión Completa : borrar en un TDBNavigator


belpab
23-11-2007, 19:37:34
Buenas.

Tengo un pequeño problema a ver si alguien me puede ayudar. Os explico tengo que borrar un registro con el delete del TDBNavigator y a la vez modificar unos campos de otra tabla pero esta accion la tengo que hacer en funcion de si me responde afirmativamente o no a la pregunta de "si quiero borrar el registro" y no se muy bien como hacerlo. La cosa es la siguiente. tengo que borrar pagos y modificar los importes del vencimiento( pendiente, pagado...) pero quiero preguntar antes si hacerlo o no( borrar los pagos ). en el beforeaction pongo en una variable local la cantidad del pago y en el click ejecuto las acciones( modifico el Vto), pero si respondo negativamente a la confirmacion no me borra el registro pero si me descuenta la cantidad en el Vto.
No se si me he explicado con claridad.

Como siempre Gracias de antemano y un saludo.

Nati1
23-11-2007, 19:41:25
Hola
Se puede hacer, pero es mejor hacerlo fuera del dbnavigator.
Por que usar el dbnavigator, es necesario?
Que base de datos usas?
Saludos

belpab
23-11-2007, 20:04:30
uso Paradox

eduarcol
23-11-2007, 20:11:18
En el evento onBeforeDelete del tTable lo puedes hacer

Lepe
23-11-2007, 23:38:27
Completando lo dicho por eduardocol

En el OnBeforeDelete, puedes hacer las dos cosas, preguntar si quiere borrar el registro y en caso afirmativo, primero cambiar los vencimientos, y después borrar.


procedure TForm1.Tabla1BeforeDelete(Sender:TObject; Action : TNoMeAcuerdo :P);
begin
if Application.MessageBox('Confirmación', ¿Desea borrar el registro?, mb_yesno)= idyes then
begin
// modificar los vencimientos y demás
end
else
Action := daAbort; // no borrará el pago y no hará nada con los vencimientos


Saludos