Cuando vinculas un dataset con report, el informe principal tomará los datos de la tabla del dataset que le hayas indicado, pero para que los subreports cojan los datos de la tabla del dataset que le indiques, tienes que hacer lo siguiente:
informe.OpenSubreport("SubInforme.rpt").SetDataSou rce(ds.Tables("Datos"))
Con esto ya podrás vincular a los subreports que quieras, los datos que quieras. Hasta luego !!