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)
-   -   Actualizacion de campos (https://www.clubdelphi.com/foros/showthread.php?t=42253)

nosferatu177 10-04-2007 00:35:04

Actualizacion de campos
 
hola buenas tardes, espero mi pregunta no este en el lugar equivocado y aparte se entienda jejeje; la cosa esta asi: tengo q trabajar con datos de 2 tablas asi q tengo un Tquery para cada una de ellas y con su respectiva consulta asi: select * from tabla1/tabla2 order by llave1/llave2,un Datasource asociado a cada Query y un DBGrid al datasource de la tabla1; el problema es q cada q cambio de fila no me actualiza los campos tedit (estos toman su valor a mostrar a traves de un TDBedit en el evento onchange y son solo los datos de la tabla2 los q no me muestra), podria ayudarme alguien es q ya llevo una semana y no encuentro la manera de solucionarlo :confused: gracias de antemano :D

droguerman 10-04-2007 01:30:49

en vez de hacer esto
Código Delphi [-]
edit1.text := dbEdit1.text;

intenta hacer esto

Código Delphi [-]
edit1.text := dbEdit1.field.asString;

vtdeleon 10-04-2007 03:08:02

Para qué tener dos controles "CASI" iguales mostrando los mismo datos?

Si vas a capturar datos de algun campo, prueba en el Evento OnDataChange del DataSource.

Lepe 10-04-2007 10:10:20

Creo recordar que el OnChange se lanza también cuando tú modificas el valor de un campo, por tanto, tú mismo harías lanzar el evento varias veces.

Lo mejor sería usar el evento AfterScroll de la consulta, que ocurre después de moverse de registro, en ese evento, asignas el valor de los campos a los Edits correspondientes.

Y ya puestos, mejor no depender de DBedits :
Código Delphi [-]
evento afterScroll:

Edit1.Text := query1Campo1.AsString;

// o bien

edit1.Text := query1.Fieldbyname('campo1').AsString;

Saludos

nosferatu177 10-04-2007 21:31:43

gracias!!!!
 
Gracias ya quedo listo!!! me fueron de mucha ayuda sus aportaciones ;):):)

Cita:

Empezado por droguerman
en vez de hacer esto
Código Delphi [-]edit1.text := dbEdit1.text;


intenta hacer esto

Código Delphi [-]edit1.text := dbEdit1.field.asString;



La franja horaria es GMT +2. Ahora son las 04:28:02.

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