No he tenido mucho tiempo para estudiar esta manera, las limitaciones que encuentro son que tienes que crear el informe en la misma base de datos con la que operas, hay que tener Access instalado
en todos los PCs que utilizan la aplicación y si la base de datos tiene Password hay que entrarlo cada vez que se imprime.
El código sería el siguiente (Primero hay que referenciar Microsoft Access 8.0 Object Library).
*****
Private Sub subImprimir()
Dim Msa As Access.Application
Set Msa = New Access.Application
Msa.OpenCurrentDatabase "RutaBaseDatos", False ' false para no abrir en modo exclusivo
Msa.DoCmd.OpenReport "NombreInforme", acViewDesign ' abre en modo diseño si quieres modificar propiedades del informe
Msa.Reports(0).RecordSource = strSQL ' instrucción SQL
Msa.DoCmd.OpenReport "NombreInforme", acNormal 'para imprimir directamente
Msa.DoCmd.Close acDefault, , acSaveYes ' cierra y guarda los cambios
Set Msa = Nothing
End Sub
*****
Si quieres ver la vista previa, en el segundo OpenReport pon acViewPreview, pero ten en cuenta que la aplicación VB sigue su curso, tendras que montartelo para canviar a la ventana de Access y piensa que el usuario tiene posibilidad de modificar el informe.
Espero que te sirva. Saludos desde Barcelona
Koki.