mira te dejo una respuesta que me encontre en un foro
1.- En el evento o método donde llames al datareport escribe la siguiente
línea de código (suponiendo que tu Ms chart se llame grafica):
Grafica.EditCopy 'Copia la grafica al portapapeles
DataReport1.show 'Muestra el reporte
2.- Abre la ventana de edición de código en el DataReport y coloca las
siguientes líneas de código
Private Sub DataReport_Initialize()
Dim Temporal As RptImage
Set Temporal = Me.Sections("Sección1").Controls("imgGrafica")
Set Temporal.Picture = Clipboard.GetData
End Sub
De esta forma funciona perfectamente, únicamente tienes que tener en
consideración los siguientes puntos:
* Debes de colocar un control RptImage con nombre imgGrafia en cualquiera de
las secciones del DataReport, claro esta indicandola en la linea:
Me.Sections("Sección1").Controls("imgGrafica")
* Yo lo coloque en Seccion1 (en el detalle), es decir que por cada registro
que aparezca se va a mostrar una grafica, eso lo puedes solucionar haciendo
un filtrado de registros por medio de una consulta SQL
* Por ultimo, y lo mas importante, el DataReport es enlazado a datos, no
puedes mostrar un reporte si que le asignes un conjunto de datos, es decir,
tienes que mostrar algun registro, si no lo haces, el reporte se muestra en
blanco.