Ver Mensaje Individual
  #2  
Antiguo 18-05-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 25
José Luis Garcí Va camino a la fama
Aquí os pongo mas detallado el proceso de borrado de un registro, usado en una de mis aplicaciones


Código Delphi [-]
procedure TFCLIENTES.SbBorrarClick(Sender: TObject);
//------------------------------------------------------------------------------
//*******************************************[ Borrar el Actual Registro ]******
//------------------------------------------------------------------------------
begin                                //Cambiar por el mensaje elegido
   PGc.ActivePage:=DATOS;
   if (MessageBox(0, '¿Esta seguro  de eliminar el registro actual?',   //Aqui no se porque me manda la última comilla simple y la coma a la linea de abajo, por favor subir al final de la linea anterior
   'Eliminar Registro', MB_ICONSTOP or MB_YESNO or MB_DEFBUTTON2) = ID_No) then abort
   else begin
      VarsCod:=DBEdit1.Field.Value;
      Case Application.MessageBox(pchar('El Registro ha sido eliminado, desea  seguir adelante o recuperar lo?'                                                         +#13#10
                                        +#13#10
                                        +#13#10+'Si elige [ SI ] se borrara permanente, así como los datos derivados'
                                        +#13#10+'Si elige  [ NO ] se recupera el registro borrado'), pchar('Registro Eliminado'), 4+48+256) of
         6:begin      //Si
               //Direcciones
               try
                 ActIbdataset(DM.IBDirecciones,'DELETE FROM DIRECCIONES WHERE (DIRECCIONES.MODULO = '+QuotedStr('CLIENTES')+') AND (DIRECCIONES.CODIGO = '+QuotedStr(VarsCod)+')');
                 ActIbdataset(DM.IBDirecciones,'SELECT * FROM DIRECCIONES');
              
                 DSPrincipal.DataSet.Delete;
                 IBT.CommitRetaining;
               except
                 Case Application.MessageBox( pchar(  'Se ha producido un error y no se ha podido borrar todos los datos'
                                                    +#13#10
                                                    +#13#10+'Que desea hacer?'
                                                    +#13#10
                                                    +#13#10+'ACEPTAR  y eliminar de manera permanente los datos si borrados'
                                                    +#13#10+'CANCELAR  y no borrar nada'), pchar('Se ha producido un error'), 1+48+256) of
                     1:IBT.CommitRetaining;       //Aceptar
                     2:IBT.RollbackRetaining;        //Cancelar
                 end;
               end;
           end;
         7:begin       //No
              IBT.RollbackRetaining;  //anulamos la eliminación
           end;
      end;
   end;
end;
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita