No parece sencillo tu problema pero he encontrado una página en la que al final te dicen como imprimir en crystal reports:
http://www.programacionfacil.com/basic/catorce4.htmY después de mucho buscar he encontrado también lo siguiente:
Imprimiendo un reporte a partir de su
Aplicación en visual basic
Ahora que nuestro reporte esta listo vamos a asociarlo a nuestra aplicación de modo tal de poder imprimirlo desde Visual Basic.
Para eso debemos activar el componente de Crystal Reports para nuestra aplicación con la opción Components... del menú Proyects y a continuación seleccionar el control Crystal Reports y copiarlo para nuestro formulario.
A continuación vamos a definir algunas propiedades para el control Crystal Report1
CopiesToPrinter: Determina el número de copias del reporte. Escriba uno (1)
Destination: Direcciona la impresión: En el cuadro 1- Para impresora 2-A un archivo. Escriba cero (0)
ReportFileName: Indica la localización del reporte (archivo. RPT) a ser impreso.
WindowTitle: Titulo de la ventana Preview, escriba Agenda.
SortFields: Configura el orden de ordenación (ver abajo).
Finalmente cree un botón de comando en el formulario que irá a disparar la impresión del reporte con la leyenda de Imprime y después asocie el siguiente código al botón Imprime:
Private Sub Imprime_Click()
CrystalReport1.Destination = 0
CrystalReport1.ReportFileName = ?C:\Controle\Agenda.rpt?
CrystalReport1.SortFields(0) = ?+{Agenda.Sobrenombre}?
CrystalReport1.Action = 1
End Sub
La propiedad Action definida como 1 ejecuta la impresión del reporte.
Otra forma de ordenar los registros por código es utilizar la propiedad SortFields.
La propiedad SortFileds,¿? +{Agenda. Sobrenombre}?, indica que el orden de impresión será por campo Sobrenombre (Agenda. Sobrenombre) en un orden ascendente (+).
A ver si es de tu utilidad
1 saludo