PDA

Ver la Versión Completa : Eliminar registro de un .mdb con ADO


¥0n1
12-02-2004, 00:17:55
Hola, quizas la pregunta que voy a hacer sea muy sencilla pero espero que puedan brindarme cualquier tipo de ayuda y de seguro la agradecería muchísimo. Entrando ya en la pregunta; estoy trabajando con un .mdb manipulandolo con ADO; para moverme por la tabla, agregar nuevos registros y cosas así, uso el componente DBNavigator estandar que viene con Delphi pero quiero cambiar el mensaje de confirmación de borrado para que no sea en ingles y mostrar un mensaje que yo haga por programación, ya puse en False la propiedad ConfirmDelete del DBNavigator y el mensaje que muestro lo programo en el evento OnBeforeDelete del query que se conecta a esa tabla de la que quiero eliminar el registro, les pongo a continuación un ejemplo del código que estoy usando para realizar esto que quiero:

if MessageDLG('Está seguro que desea eliminar los siguientes datos???', mtConfirmation, [mbYes,mbNo], 0) <> mrYes then SysUtils.Abort;

pero no funciona; si se responde NO en el mensaje que se muestra no se elimina el registro y si se responde YES tampoco lo elimina, simplemente muestra el mensaje pero ni se da por enterado de lo demás; en esencia eso es lo que sucede, como ya les dije agradecería cualquier tipo de ayuda que puedan brindarme para solucionar esto, chao.

PD. Uso Delphi 6 con Windows 2000 y el .mdb está creado también con Access 2000.

__cadetill
12-02-2004, 09:28:53
Ya que utilizas un DBNavigator, yo personalmente utilizaría sus eventos para hacer lo que pretendes. En concreto el OnBeforeAction


procedure TConsultas.NavegadorBeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
case Button of
nbDelete :
begin
if Application.MessageBox('Realmente quiere borrar el registro seleccionado?',
'Atención',
MB_ICONWARNING or MB_YESNO or MB_APPLMODAL) = mrNo then
Abort;
end;
end;
end;

fide
07-11-2007, 11:29:12
Asi mismo lo hago yo.

o sin usar el DBNavigator seria


if MensajeDeConfirmacion = Si then
AdoTable1.Delete;