Yo tengo algunos informes al que les paso el sql que voy a necesitar porque los campos que se muestran es igual.
Esto es un ejemplo rescatado de algún sitio:
Código Delphi
[-]sql := 'Select field1, field2 from tableA where fieldX = 1 order by cli.NOMECLIENTE, rec.CODCLIENTE, rec.DATAVENCIMENTO, rec.EMISSAO';
VCLReport.FileName := directorioinformes + 'RelContasReceber.rep';
VCLReport.Report.DatabaseInfo.Items[0].SQLConnection := dm.sqlsisAdimin;
VCLReport.Report.DataInfo.Items[0].SQL:= sql; VCLReport.Execute;
Y esto es de mi código:
Código Delphi
[-]
RMvcl1.Report.DataInfo.ItemByName(cParametro).SQL := cValor;
Como ves en los ejemplos, puedes indicarlo por su posición o por su nombre: items[0].sql o itembyname('conjuntodedatos').sql
Creo que es lo que estás buscando.