Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Guardar en tabla registros (https://www.clubdelphi.com/foros/showthread.php?t=50236)

Petolansa 12-11-2007 18:36:18

Guardar en tabla registros
 
Buenas gente aca estoy de nuevo, les queria consultar porque no logro
hacer funcionar lo siguiente, el primer codigo es el que me toma el producto
de la tabla stock y lo pasa a la tabla temporal rx de nombre MTREMITO.
hasta ahi bien, me lo toma y me lo va a agregando en en un dbgrid
incluso luego modifico la cantidad y me hace los calculos por linea de
detalle y todo.


Código:

begin
frmremito.mtremito.Append;
frmremito.mtremitocodigo.Value:=tstockprocod.Value;
frmremito.mtremitodescripcion.Value:=tstockpronom.Value;
frmremito.mtremito.Post;
end;


El problema empieza aqui. Este es el boton que uso para procesar los datos
quiero guardar en dos tablas correspondientes, en la de remito y remito detalle.
En la tabla de remito me guarda bien pero el problema me salta en la segunda
parte, cuando quiero volcar los datos de la tabla MT remito a la tabla Remitodetalle.



Código:

If messagedlg('Los datos del Remito con correctos?',MTwarning,mbOKCancel,0)<>
mrok
then
exit;

with dmzingueria do begin
remito.Insert;
remitonumremito.Value:=folio;
remitoclicod.Value:=strtofloat(dbtext1.Caption);
remitofecha.Value:=strtodate(fecha);
remitofacturado.Value:=false;
remito.Post;
remito.FlushBuffers;
//hasta aqui funciona y guarda bien!


//Aqui es donde no funciona, me dice mtremito not in insert or edit mode.

with mtremito do begin
first;
while not Eof do
begin
remitodetalle.insert;///Aqui le doy insert, no se si va 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;
mtremito.Post;
mtremito.Next;
end;
mtremito.EmptyTable;
end;


Donde puede estar el error?

Desde ya muchas gracias

enecumene 12-11-2007 21:04:54

intenta poniendo la siguiente linea:

Código Delphi [-]
with mtremito do begin
Edit;
first;
while not Eof do
begin
remitodetalle.insert;///Aqui le doy insert, no se si va 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;
mtremito.Post;
mtremito.Next;
end;
mtremito.EmptyTable;
end;

espero que te ayude

Saludos.

Petolansa 12-11-2007 21:38:36

Gracias
 
Gacias enecumene, la verdad que no me da el error de mt remito in not in insert or edit mode, ahora me da keyviolation, a que se puede deber esto; A que repita un campo clave o cuando sale un error asi, estuve como 2 dias con esto, y la verdad que no se como resolverlo. y ahora me sale este error, perdon si es demasiado basica mi consulta

SAludo

enecumene 12-11-2007 21:54:28

es probable que estas intentado insertar un dato repetido en un campo con clave primaria o indice. verifica en tu base de datos a ver si es asi.

Saludos.

Petolansa 12-11-2007 23:28:47

Gracias por al respuesta, ya descubri, el campo numremito de la tabla remito detalle, ele estaba asignando el mismo numero, esa es la key violation, pero no se porque me volvioa dar error de mtremito is not in insert mode, puede ser posible esto, en algun lugar estoy guardando mal los datos?

Gracias, perdonen la molestia

Petolansa 13-11-2007 00:51:28

Encontre el error, todo un logro para mi, era que me faltaba poner un post de la otra tabla, es raro que me haya estado tirando como que el error era en la otra tabla, peor bueno ya esta. Queria hacerles otra consulta, si bien ya se como guardar las tablas de una tabla temporal a una tabla de la bd, como se hace para extraer los datos y mostrarlos en el dbgrid? O sea la inversa

Gracias


La franja horaria es GMT +2. Ahora son las 19:51:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi