Cambiar Ruta de BD

Hola
Mi Pregunta es la siguiente, como cambio la ruta de un informe en crystal report, en algunos foros dicen que con la propiedad DataFiles, pero según la ayuda te sirve para cambiar una tabla
de la bases de datos y no todas las tablas mi problema es que en un solo formulario el usuario selecciona el reporte deseado y dependiendo de la opción ejecuto un reporte determinado, acaso tengo que poner una lista como la siguiente:
reporte.datafiles(0) = ruta
reporte.datafiles(1) = ruta
.
.
.
reporte.datafiles(n) = ruta
¿Una por cada tabla que contenga el reporte y si el usuario selecciona otro reporte hacer lo mismo pero con un numero n diferente?
¿Existe alguna otra manera?

1 Respuesta

Respuesta
1
Efectivamente tendrías que establecer la ruta para cada tabla de tu reporte
reporte.datafiles(0) = app.path & "\Base1.mdb"
En cada uno de tus reportes, lo cual desde luego resulta tedioso.
Sin embargo hay una muy buena opción para evitar esto y es decirle al reporte que va a tomar la(s) base(s) de datos de la misma ubicación en que se encuentre éste.
Por ejemplo:
Digamos que tu directorio en donde se encuentra la base de datos se llama "c:\MiAplicación" y que tu reporte se llama "ReporteX.rtp". Solo tienes que establecer en el reporte en el menú "Base de datos>Establecer ubicación"
La opción(botón) "La misma del informe" y colocar el reporte y la base en el mismo directorio.
De esta manera no importa cuantas tablas tenga tu reporte y de cuantas bases de datos, de ahí lo tomará. También podrás cambiar de directorio tu aplicación y no hay que modificar nada en el reporte.
Nota: Debes tener mucha atención en hacer clic en el botón "La misma del informe" para al menos una tabla de cada base de datos, ya que si no lo haces para al menos una tabla de la Base de datos, ésta(s) tabla(s) quedaría(n) con un path fijo.
De esta manera, solo tienes que preocuparte por el nombre del reporte de acuerdo a tus opciones
Select case Opcion
case = 0
reporte.reportfilename = app.path & "\Reporte1.rpt"
case = 1
reporte.reportfilename = app.path & "\Reporte2.rpt"
y te despreocupas por los .Datafiles(x)
Si tienes alguna duda dímelo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas