Ver Mensaje Individual
  #1  
Antiguo 12-02-2008
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Reputación: 20
amadis Va por buen camino
Question BOTON CANCEL -> Error: Table1:DataSet is not in Edit mode

Que tal Gente!

Tengo un pequelo problema que me esta volviendo loco.

Estoy trabajando con una tabla paradox haciendo un pequeño control para levantar pedidos de productos. (4 productos).

El problema esta en el form de edicion/alta pedidos

tengo varios dbedits (uno para idcliente, otor pera fecha y 4 para cantidades de productos)

un boton OK y un NO.

El problema es en el NO. cuando estoy agregando un nuevo registro NO ME CANCELA, me da error pedidosataSet is not in Edit mode.

Sinembargo chequeo mediante lo que mostrare luego y me dice que esta en estado DsInsert.

Aquí esta el boton cancelar

Código Delphi [-]
procedure TFnuevopedido.BTcancelarClick(Sender: TObject);
begin
  if (pedidos.State = DSinsert) or (pedidos.State = DSedit)
    then
      begin
           IF pedidos.State = dsinsert then showmessage('ins');
           IF pedidos.State = dsedit then showmessage('Ed');
             // de estos 2 pasos anteriores salta el SHOWMESSAGE ('INS');
           datos.pedidos.Cancel;
      end;
   close;
end;

Y cuando llega a ejecutar el cancel me da el error de que no está en modo Edicion.

El boton de OK tiene pregunta si esta en estado de edicion o insercion y postea y luego cierra. Eso funciona.

Luego si Edito un registro antes creado y luego cancelo la EDICION, cancela correctamente.

Dentro del form en los 4 edits de cantidad de productos, hay una instruccion en el onchange de cada uno que ejecuta un procedimiento que calcula el precio, tomando el precio del producto de otra tabla y multiplicando por esa cantidad. Probe anular esa instruccion pensando que el hecho de hacer un lookup en otra tabla podria perder el estado de inserción pero sigue dando error.

Cuando hago cancelar me sale 9 veces el error de no edit mode.

¿alguna idea?

Revisé si no había algun ";" fuera de lugar o faltante y parece que no...

Desde ya Muchas Gracias
Responder Con Cita