Hola chicos!! después de hacer varias pruebas, gracias a vuestra ayuda he podido conseguir lo que buscaba en un principio con el siguiente código situado en el evento OnDataChange del TDataSource2:
Código:
for(int x = 1; x <= 13; x++)
{
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add("SELECT T1.NOMBRE");
Query2->SQL->Add("FROM TABLA1 T1 JOIN TABLA2 T2 ON T2.ID = :PID AND");
//(T1.ID1 = T2.IDx AND T1.RE1 = T2.REx)
Query2->SQL->Add("(T1.ID1 = T2.ID"+IntToStr(x)+" AND T1.RE1 = T2.RE"+IntToStr(x)+")");
Query2->SQL->Add("ORDER BY Nombre");
Query2->ParamByName("PID")->AsInteger = Query1->FieldByName("ID")->AsInteger;
Query2->Open();
if(!Query2->FieldByName("Nombre")->AsString.IsEmpty()) //Si la consulta devuelve un resultado
{
//aquí quiero cambiar la propiedad Caption del TLabel que corresponde a Label[x] ya previamente situado
//en el Form.
}
else
{
//No hacemos nada. No modificar la propiedad Caption que previamente tiene el TLabel nº [x]
}
}
Mi duda está en cómo hacer referencia a cada objeto TLabel situado en el Form para modificar su propiedad Caption dentro del bucle for, donde el índice de cada etiqueta corresponde con la vble. x de dicho bucle, es decir,
Labelx ..... [Label1..Label13].
Gracias de nuevo.