Hola Vales08.
Espero no entender mál lo que pedis...
El tema pasa por saber donde está ubicado el
TDataSource al que están relacionados el
TDBGrid y el
TDBEdit, ya que si los conectas al mismo DataSource no es necesario pasarlo por que el dato ya estará allí.
Partamos suponiendo que tenemos un DataSet con un sólo campo: 'Nombre'.
Si usas un
TDataModule donde residen el DataSet y el DataSource deberías tener:
En Form1 el DBEdit con las siguientes propiedades asignadas:
Código Delphi
[-]
uses
Form3; // unidad del DataModule
...
DBEdit1.DataSource:=
DataModule1.DataSource1;
DBEdit1.DataField:= 'Nombre';
Y en Form2 el DBGrid con las propiedades:
Código Delphi
[-]
uses
Form3; // unidad del DataModule
...
DBGrid1.DataSource:=
DataModule1.DataSource1;
(Esto se puede hacer más fácil desde el Object Inspector pero así me es más sencillo de explicar)
En cambio si el DataSource reside en Form1 sería:
Form1:
Código Delphi
[-]
DBEdit1.DataSource:= DataSource1;
DBEdit1.DataField:= 'Nombre';
Y en Form2:
Código Delphi
[-]
uses
Unit1; // donde supuestamente está Form1
....
DBGrid1.DataSource:=
Form1.DataSource;
Por último si el DataSource reside en Form2, sería al revés.
En cualquiera de los casos al seleccionar una fila del DBGrid verías reflejada inmediatamente la selección en el DBEdit del otro form.
En definitiva la cuestión pasa por que los dos componentes (DBEdit y DBGrid) hagan referencia al mismo DataSet por medio del mismo DataSource.
Un saludo.