Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   pasar de una tabla a otra (https://www.clubdelphi.com/foros/showthread.php?t=76962)

lucas05 08-12-2011 21:49:03

pasar de una tabla a otra
 
Hola, estoy tratando de pasar un dato de una tabla a otra.
Les explico, lo primero que hago es mostrar el ultimo registro de la tabla venta:
Código Delphi [-]
ADOQuery1.Close;
ADOQuery1.SQL.Add('Select Max(id_numero) From venta');
ADOQuery1.Open;
Label1.Caption:= IntToStr(ADOQuery1.Fields[0].AsInteger);

Luego quiero guardar ese dato y otros que va ingresando el usuario en la tabla detalle
Código Delphi [-]
ADOQuery2.Append;
ADOQuery2.FieldByName('dt_id').Value := //aquí quiero guardar el id_numero          
ADOQuery2.FieldByName('dt_nom').Value :=edit1.Text;
ADOQuery2.FieldByName('dt_can').Value :=edit2.Text;
ADOQuery2.Post;

Lo que intento hacer es pasar el dato que tiene id_numero(tabla venta) a dt_id(tabla detalle)

Muchas Gracias

Caral 08-12-2011 22:27:29

Hola
Hay muchas maneras, esta es una:
Código Delphi [-]
ADOQuery2.Append;
ADOQuery2.FieldByName('dt_id').Value := StrToInt(Label1.Caption); 
ADOQuery2.FieldByName('dt_nom').Value :=edit1.Text;
ADOQuery2.FieldByName('dt_can').Value :=edit2.Text;
ADOQuery2.Post;
Ya que el dato lo esta capturando el label1.
Saludos

lucas05 09-12-2011 02:50:50

Hola, gracias por la ayuda, funciona bien.
Como podría lograr el mismo resultado, si en lugar de capturar el dato en un label lo capturo en una variable.

Caral 09-12-2011 02:56:19

Hola
No te parece que a esta hora estas pidiendo demasiado :D:D;)

Creamos una variable global, osea donde esta:
Código Delphi [-]
var
  Form1: TForm1;
 a: integer;

implementation

Aqui recogemos el dato:
Código Delphi [-]
ADOQuery1.Close;
ADOQuery1.SQL.Add('Select Max(id_numero) From venta');
ADOQuery1.Open;
a:= ADOQuery1.Fields[0].AsInteger;

Ahora lo tomamos:
Código Delphi [-]
ADOQuery2.Append;
ADOQuery2.FieldByName('dt_id').Value := a;        
ADOQuery2.FieldByName('dt_nom').Value :=edit1.Text;
ADOQuery2.FieldByName('dt_can').Value :=edit2.Text;
ADOQuery2.Post;
Saludos

lucas05 09-12-2011 03:20:38

Nuevamente Muchas Gracias.


La franja horaria es GMT +2. Ahora son las 00:22:53.

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