![]() |
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. |
Y porq no usas una variable y almacenas el valor antes de guardar???
|
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 |
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? |
al cerrar tu forma la liberas?
en donde pusiste la variable que devuelve nulo? |
Cita:
|
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)); |
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 |
si lo cheque y es lo que yo tengo
|
no entendi para nada tu codigo, podrias explicar cuales son variables y cuales estan en que formulario?
|
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 ![]() |
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