Hola
Voy a explicarlo a ver si me entendeis .
Tengo un FormPadre , del que deriva varios Forms , uno de ellos es TFormContabilidad .
Hay un form principal y TFormContabilidad es un MDIChild .
Así en el form , principal creo el FormContabilidad :
TFormContabilidad.Create(Application);
Ahora tengo un DataModule , con una tabla TContabilidad .
En el FormContabilidad tengo otra tabla TCta.
Bien , pues necesito que en el datasource de la TContabilidad , en la propiedad OndataChange , poner esto .
Código Delphi
[-]
procedure TDataModule.dsContableDataChange(Sender: TObject; Field: TField);
begin
TFormContabilidad.TCta.Filter := 'Codigo = ' + TContabilidad.FieldByName('campo1).AsString; end;
Resumo , en el datamodule , hay una tabla ,con su datasource . En el formContabilidad es MDIChild , y hay otra tabla . Pues bien en el Onchange del DataSource del DataModule , hay que hacer una referencia a la tabla del Formulario MDIChild .
¿Cómo se hace esto ?
Ya de paso , si alguien se molesta en contestar , pues pregunto también como se sabe si el FormContabilidad (que es MDIChild) esta activo . Por que si pones esto en el DataModule :
if (ActiveMDIChild is TFormContabilidad) then . Te dice que ActiveMDIChild no esta identificado , si lo pones esto en un form normal no hay problemas , pero si los hay en el DataModule .