Un pequeño ejemplo de cómo lo hago yo:
Código:
Dim formula As String
Screen.MousePointer = vbHourglass
Set Report = Application1.OpenReport(App.Path & "\presupuesto.rpt", 1)
For Each tbl In Report.Database.Tables
tbl.SetLogOnInfo NombreBaseDatos
Next
formula = "{presupuestos.numpresupuesto}='" & numero & "'"
Report.RecordSelectionFormula = formula
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
CRViewer1.Zoom 1
Screen.MousePointer = vbDefault
Con esto lo que hago es abrir un formulario de Crystal llamado presupuesto.rpt que está en la misma ruta que la aplicación y luego filtro con el la variable formula por el número de presupuesto.
Por supuesto hay que tener un CRViewer metido en el formulario de VB. Yo hago un formulario genérico y según de dónde venga la llamada a este formulario pues llamo a unos ficheros de crystal o a otros.
Yo utilizo Crystal Reports XI.
Espero que te haya valido de algo.