Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   pasar un dato de una tabla a otra (https://www.clubdelphi.com/foros/showthread.php?t=50092)

betty_loo 07-11-2007 22:27:21

pasar un dato de una tabla a otra
 
hola
mi problema es el siguiente yo tengo que pasar un registro de un dbedit que es una llave a otra forma, pero antes de salir de la primer forma guardo el registro y al salir de la forma1 el dbedit se queda vacio y por lo tanto al llamarlo a la segunda forma me aprece el bdedit vacio, tienen alguna idea para poder llamar el registro.

gracias.

eduarcol 07-11-2007 22:34:50

Y porq no usas una variable y almacenas el valor antes de guardar???

Caral 07-11-2007 22:39:14

Hola
El wiki del club ha sido creado para solucionar estas dudas y otras, en el encontrares ejemplos de muchas cosas, revisalo, veras que aqui hay exactamente lo que buscas.
Saludos

betty_loo 07-11-2007 23:09:32

hola
gracias por la idea pero ya lo hice y si se guarda pero al llamarlo a la tercer forma la variable trae un valor nulo tienes alguna otra idea?

courtois 09-11-2007 02:47:51

al cerrar tu forma la liberas?
en donde pusiste la variable que devuelve nulo?

eduarcol 09-11-2007 13:24:25

Cita:

Empezado por betty_loo (Mensaje 244317)
hola
gracias por la idea pero ya lo hice y si se guarda pero al llamarlo a la tercer forma la variable trae un valor nulo tienes alguna otra idea?

si se me ocurren muchas ideas, pero por que no posteas el codigo para ver si podemos ayudarte sin adivinar.

betty_loo 12-11-2007 20:48:30

este es el codigo que utilizo para llamar el dato de la otra forma
tbodtodt = es el nombre de la forma 1
descripcion es la forma 2

SIGODT := tbodtodt.value;
pac := tbodtodt.value;
sw:=0;
showmessage(inttostr(pac)) ;
showmessage(floattostr(sigodt));
descripcion.DBEdit1.Text := (inttostr(pac));

Caral 12-11-2007 20:58:19

Hola
Yo me pregunto, viste el ejemplo del wiki que te mencione?.
Por que hace eso que pides, me extraña que sigas con el problema.
Saludos

betty_loo 12-11-2007 21:11:39

si lo cheque y es lo que yo tengo

eduarcol 12-11-2007 21:24:39

no entendi para nada tu codigo, podrias explicar cuales son variables y cuales estan en que formulario?

betty_loo 12-11-2007 22:51:35

tengo una forma que tiene un boton de agregar
En el botón de agrega r tengo este código

application.createform(todtedi,odtedi);
odtedi.show;
odt.hide;
a:= 1;
odtedi.show;
odtedi.add;
query1.close;
query1.open;

y manda a llamar a otra forma

Al ingresar los datos doy clic en el botón siguiente que tiene este codigo

var cia:double;
begin
SIGODT := tbodtodt.value;
pac := tbodtodt.value;
sw:=0;

showmessage(inttostr(pac)) ;
showmessage(floattostr(sigodt));

descripcion.DBEdit1.Text := (inttostr(pac));
SIGODT := tbodtodt.value;
pac := tbodtodt.value;
sw:=0;
descripcion.DBEdit1.Text := dbedit1.text;
begin
if tbodt.State in[dsinsert] then
valida;
if tbodt.State in[dsedit] then
begin

tbodt.post;
showmessage('*** El registro Se Modifico ***');
sw := 0;
end;
if tbodt.State in[dsinsert] then
begin
if sw = 0 then
begin
if tbodt.state in[dsinsert] then
begin
tbodt.post;
tbodt.Insert;
odtedi.hide;
descripcion.add;
descripcion.DBEdit1.Text := odtedi.DBEdit1.text;
// application.createform(tdescripcion,descripcion);
descripcion.show;
end;
end
end;
sw:=0;
end;

y se guarda y borra todo el contenido de los dbedit’s y no guarda valor del dbedit que quiero que pase a la otra pantalla,

El valor que quiero conservar es el de odt nº que es el campo que viene al principio en ambas pantallas y es la clave principal de las dos tablas

egostar 12-11-2007 23:10:48

No entiendo mucho tu código, pero por lo que comentas, no creo que pase el dato a la tercera ventana ya que no veo ninguna variable que estes usando para conservar el valor, recuerda que cuando cierras las tablas todo dato que contenga se "pierde".

Yo lo que haría es usar una variable en la tercera ventana donde quede almacenado ese dato que requieres antes de cerrar las tablas.

Salud OS


La franja horaria es GMT +2. Ahora son las 11:55:59.

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