Ver Mensaje Individual
  #1  
Antiguo 09-11-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Reputación: 19
Petolansa Va por buen camino
Ayuda con guardado en tabla paradox

Buenas gente necesitaria una ayudita de uds los expertos, resulta que hice esto a los patadas, y me gustaria saber como mejrrarlo, porque realmente a veces funciona bien y a veces no, este codigo es cuando elijo dar un nuevo remito, y como ven llevo el contador de remitos. Esto dentro de todo funcionaria bien. Lo unico que me guarda desordenado en la tabla. Pero a la larga guarda.

Código:
procedure TFrmprincipal.Remito2Click(Sender: TObject);
var
num:integer;
begin
num:=frmremito.contadorx['contremito'];
frmremito.contadorx.Insert;
frmremito.contadorx['contremito']:=num+1;
frmremito.Label12.Caption:=inttostr(frmremito.contadorxcontremito.Value);
frmremito.ShowModal
end;

end.


En este otro codigo lo que hago es cuando doy el boton procesar quiero que me guarde en sus correspondientes tablas los datos del remito.
MTremito es una tabla en memoria rx. Lo que me ocurre con esto es que a veces me da key violation y la tabla remitodetalle me guarda solamente el primer registro. Me gustaria si no es mucha molestia me lo revisen un poquito para ver en que le estoy errando. El numero de remito me lo gusrda bien.



Código:
procedure TFrmRemito.BitBtn1Click(Sender: TObject);
var
numremito:real;
begin
numremito:=strtofloat(label12.Caption);
If messagedlg('Los datos del Remito con correctos?',MTwarning,mbOKCancel,0)<>
mrok
then
exit;

with dmzingueria do begin
remito.Insert;
remitonumremito.Value:=numremito;
remitoclicod.Value:=strtofloat(dbtext1.Caption);
remitofecha.Value:=strtodate(fecha);
remitofacturado.Value:=false;
remito.Post;

with mtremito do begin
first;

while not eof do begin
remitodetalle.Append;
remitodetallenumremito.Value:=numremito;
remitodetalle.FieldByName('codipro').Value:=FieldByName('codigo').value;
remitodetalle.FieldByName('cantidad').Value:=fieldbyname('cantidad').Value;
remitodetalle.FieldByName('concepto').Value:=fieldbyname('descripcion').Value;
next;
end;
end;



contadorx.Post;
end;
end;
end.

PD. Remito es lo que llaman en otros paises albaran.


Desde ya muchas gracias por su tiempo.
Responder Con Cita