Hola, estoy intentando hacer lo mismo que Carmelo pero no ne sale a la pregunta directa de Delphi.com.ar:
Cita:
Seguramente porque no estas haciendo un cast a TQuery... ¿Entiendes lo que acabas de hacer?
|
la verdad
NO, les pongo lo diferente de mi caso:
Tengo un DataModule (DtmDatos) con n IBDataSet (algunos son IBVentas, IBClientes, IBProveedores, etc)
En mi forma2 (FrmCambiaSQL) donde tengo un TDataSource y una combinación de Tcomboxbox, Tedit y otros componentes para que el usuario pueda crear un filtro (where algo = algo) que se añade a la sentencia select del IBDataSet corespondiente.
en el boton que aplica los cambios para crear el filtro tengo bastantes lineas con algo como esto:
Código Delphi
[-] if dataSource1.datset.name = 'IBClientes'
Then Begin
NuevaConsulta:= AgregaFiltro(DtmDatos.IBClientes.SelectSQL.text);
DtmDatos.IBClientes.Close;
DtmDatos.IBClientes.SelectSQL.Clear;
DtmDatos.IBClientes.SelectSQL.add(NuevaConsulta);
DtmDatos.IBClientes.Open;
End;
y haci para cada IBDataSet que uso
mi primera intención era poner algo así:
Código Delphi
[-] NuevaConsulta:= DataSource1.DataSet.SelectSQL;
pero desde el componente tDataSource no puedo accesar a la propiedad SelectSQL, esto seria lo ideal que nesecito.
con este hilo intente lo que aconsega Delphi.com.ar
Cita:
Tendrías que tener algunas consideraciones, como verificar si FindComponent retornó algo como lo que estas esperando:
Código Delphi [-]
var
AComponent: TComponent;
begin
AComponent := FindComponent('Query11');
if AComponent is TQuery then
Edit1.Text := TQuery(AComponent).Fields[1].Value
end;
Vale aclarar que si estas ejecutando FindComponent en un evento o dentro del código de un TComponent (Posiblemente de un TForm), FindComponent lo ejecutará Self y me parece que vos queres buscarlo en Form_ABM_Rubros, por lo que tendrás que hacer algo como:
Código Delphi [-] ...
AComponent := Form_ABM_Rubros.FindComponent('Query11'); Saludos!
|
y pasa lo mismo no puedo accesar a la propiedad SelectSQL, ¿que hay que hacer?
Gracias