Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   borrar en un TDBNavigator (https://www.clubdelphi.com/foros/showthread.php?t=50643)

belpab 23-11-2007 19:37:34

borrar en un TDBNavigator
 
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.

Código Delphi [-]
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


La franja horaria es GMT +2. Ahora son las 23:52:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi