Ver Mensaje Individual
  #5  
Antiguo 14-07-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Reputación: 19
Fenareth Va por buen camino
Cita:
Empezado por Anyu Ver Mensaje
Este es el procedimiento que se ejecuta con el boton de agregar para los detalles, en el boton editar formulario, esta el remi.Edit pero en el boton de nuevo formulario tengo remi.append, entonces en lugar de eso tiene que ser remi.insert verdad?, quizas por eso agrega pero me lanza ese error...


Código Delphi [-]
procedure Tf_remision2.AgregarClick(Sender: TObject);
var
idremision: integer;
cantidad: real;
begin
  if remi.State=dsInsert then
  begin
        remi.Fields[1].AsInteger:=strtoint(DBComprobante.Text);
        remi.Fields[2].AsDateTime:=feini.Date;
        remi.Fields[3].AsDateTime:=fefin.Date;
        remi.Fields[4].AsString:=DBMotivo.Text;
        remi.Fields[5].AsString:=DBRazon.Text;
        remi.Fields[6].AsString:=DBRUC.Text;
        remi.Fields[7].AsString:=DBDestino.Text;
        remi.Fields[8].AsString:=DBPartida.Text;
        remi.Fields[9].AsString:=f_menu.nomusu.Text;
        remi.Fields[10].AsDateTime:=now();
        remi.Fields[11].AsString:=DBLocal.Text;
        remi.Fields[12].AsInteger:=strtoint(DBRemision.Text);
        remi.Post;
        remi.ApplyUpdates;
        f_menu.conex.Commit;
        remi.Close;
        remi.Open;
        remi.Last;
  end;
  if remi.State=dsEdit then
  begin
        remi.Fields[1].AsInteger:=strtoint(DBComprobante.Text);
        remi.Fields[2].AsDateTime:=feini.Date;
        remi.Fields[3].AsDateTime:=fefin.Date;
        remi.Fields[4].AsString:=DBMotivo.Text;
        remi.Fields[5].AsString:=DBRazon.Text;
        remi.Fields[6].AsString:=DBRUC.Text;
        remi.Fields[7].AsString:=DBDestino.Text;
        remi.Fields[8].AsString:=DBPartida.Text;
        remi.Fields[9].AsString:=f_menu.nomusu.Text;
        remi.Fields[10].AsDateTime:=now();
        remi.Fields[11].AsString:=DBLocal.Text;
        remi.Post;
        remi.ApplyUpdates;
        f_menu.conex.Commit;
        remi.Close;
        remi.Open;
        remi.Locate('id_remision',idremision,[]);
  end;
  des;

  try
        cantidad:=strtofloat(Cant.Text);
  except
        cantidad:=0;
  end;

  if cantidad <= merca.Fields[3].AsInteger then
  begin
   detalle.Append;
   detalle.Fields[1].AsInteger:=remi.Fields[0].AsInteger;
   detalle.Fields[3].AsInteger:=merca.Fields[0].AsInteger;
   detalle.Fields[2].AsFloat:=strtofloat(cant.Text);
   detalle.Post;
   detalle.ApplyUpdates;
   idremision:=remi.Fields[0].AsInteger;
   f_menu.conex.Commit;
   remi.Close;
   remi.Open;
   remi.Locate('id_remision',idremision,[]);
   end
else
   begin
   showmessage('No se agregaron detalles, no hay cantidad suficiente o se modifico la cabecera');
   Cant.SetFocus;
   end;
   abredetalle;

end;
Se ve más bonito ... intenta ese cambio y nos platicas
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita