Ver Mensaje Individual
  #3  
Antiguo 14-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Leonardo
Existe una manera de detener una actualizacion si se esta utilizando un datanavigator para las modificaciones del dataset, por ejemplo tengo pensado mostrar un mensaje antes de que se actualize cierto registro y dependiendo de si la persona esta de acuerdo enactualizar que se actualize si no que se cancele la actualizacion.
En estos caso, muchas veces los más prolijo es pensar únicamente en la acción (lo marcado en negritas) y no en la causa de ésta (el dbnavigator).

Dicho de otra forma, generalmente lo importante aquí es cancelar (o no) la actualización del registro, independientemente de cómo se intenten guardar los cambios. De esta manera dependes menos de la interfaz de usuario.

Para ello es conveniente pensar, no en tal o cual control en particular, sino en el dataset asociado.

En este caso, cuentas con el evento BeforePost que se genera cuando el motor está a punto de mandar los cambios a la base:

Código Delphi [-]
const
  Flags = MB_ICONQUESTION or MB_YESNO;

begin
  if Application.MessageBox('¿Desea guardar los cambios?', 'Confirmar', Flags) = idNo then
  begin
    DataSet.Cancel;
    abort;
  end;
end;

// Saludos
Responder Con Cita