Bueno, supongo que no has dotado a tu programa que al distribuir el usuario pueda escoger la carpeta en donde se instalara tu aplicacion, al acer esto, si el usuario instala en una carpeta diferente que en la cual estas desarrollando actualmente tu programa, tu prog caera, porque al momento de querer enlazar a reportes vera que la direccion es erronea, te comento esto porque empleando un metodo puedes hacer que tu aplicacion sea mas robusto y este listo para todo (todo terreno), adicionalmente cada vez que muestres el reporte este se actualizara automaticamente.
Este metodo me lo enseño un amigo de este foro Juan_C te a continuacion te muestro como se hace, funciona muy bien.
1) En el reporte estadndo en Crystal, abre el menú base de datos, escoge la opción Establecer ubicación y a lo mejor tienes algo como esto:
Movimientos ventas!C:\VENTAS\BASE\Ventas.mdb
cambialo por esto
Movimientos ventas!Ventas.mdb
es decir, quitas la ruta. "Movimientos ventas" es la tabla y "ventas.mdb" la base de datos.
2) En el proyecto de VB en el formulario que cargaste el control de Crystal, prueba lo siguiente:
a) coloca en un botón el siguiente código:
CReport1.DataFiles(0) = App.Path & "Ventas.mdb"
CReport1.Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "Ventas.mdb" & ";Persist Security Info=False "
CReport1.ReportSource = crptReport
CReport1.ReportFileName = App.Path & "\ListaVentas.rpt"
CReport1.Action = 1
Espero te sirva.
Salu2