Principales respuestas
Reportes ruta

Pregunta
-
Respuestas
-
No veo porque quieres hacer esto, si dejas todos tus reportes dentro de una carpeta a un lado del ejecutable de tu aplicación y si en tiempo de diseño defines el origen del reporte usando esta opcion tu aplicación debe de ser capas de resolver la ruta de ubicación sin intervención de nadie, esto se hace de manera automática siempre y cuando no modifiques el nombre de la carpeta contenedora todo debe de funcionar de la misma forma.
Saludos desde Monterrey, Nuevo León, México!!!
- Marcado como respuesta AcuTau viernes, 13 de mayo de 2016 2:41
Todas las respuestas
-
-
es decir puedo usar ese codigo sin tener que usar
Me.ReportViewer1.LocalReport.ReportPath = "D:\Documents\Programacion\2016\Combustible\Control de Combustible v1 - 2016\Control de Combustible v1 - 2016\ReporteCombu.rdlc"
algo asi? entonces lo que mencionas probare y lo marco, Gracias
Es que mi pregunta es si tengo rutas de reporte en la carpeta donde tengo el codigo si esta aplicacion la usara en otros equipos entonces tendria que ingresar al codigo cambiar las ruta de todos los reportes y volver a generar la aplicacion y hacer un exe, entonces asi como en la BD se usa el App.config y solo se cambia desde alli sin tener que modificar mas, la pregunta es como seria en el caso de los reportes.
Creo que encontre algo de lo que decias pero no te entendia:
Pero igual no entiendo como se hace eso.
- Editado AcuTau jueves, 12 de mayo de 2016 14:33
-
-
-
Hola JackJJ:
En su momento tuve la misma necesidad que tu, solo que la forma de trabajo que usaba es diferente a la que estas usando tu, mi proyecto estaba dividido en capas cada capa son su respectiva responsabilidad, para el caso de la pregunta a la que te refieres yo tenia un proyecto especifico para mis reportes llamda "Reportes" aqui tenia todos los RDLCs y los formularios, por eso cuando use esa linea me funciono perfectamente:
_reportViewer1.LocalReport.ReportEmbeddedResource = "NombreProyectoLibreriaClases.NombreReporte.rdlc";
En tu caso, no creo que tengas que hacer todo un proyecto especial para tus reportes para lograr obtener la ruta de ubicación de estos, si tienes una carpeta con todos los archivos rpt dentro entonces bastara con que uses la propiedad ApplicationStartupPath para obtener la ruta de ejecución de tu aplicación, posteriormente concatenar el nombre de la carpeta y el nombre el reporte, mas o menos así:
Dim rutaAplicacion AS String rutaAplicacion = ApplicationStartupPath Dim rutaReporte As String rutaReportes = System.IO.Path.Combine(rutaAplicacion, "NombreCarpetaContenedoraDeTusRpt", "NombreReporte") _reportViewer1.LocalReport.ReportEmbeddedResource = rutaReporte
Mas o menos trabajarías de esa forma y no tendrías que cambiar nada mas ni usar el App.Config (que también es posible que guardes en el la cadena de ubicación de tus rpts pero creo que no es necesario)
Espero te haya quedado un poco mas claro el asunto.
Saludos desde Monterrey, Nuevo León, México!!!
- Editado JoséLuisGarcía jueves, 12 de mayo de 2016 17:24
-
Ese codigo que me propones es un modulo publico ? o es parte del formulario de reporte, lo que pones es para no tener que hard-codear el codigo? yo tengo mis reportes en una misma carpeta donde esta la aplicacion, pero mm segun una guia para hacer exe con el instalshield he visto que en la guia incluyen estos reportes entonces tambien estarian dentro de la carpeta,
Entonces en el formulario de reporte solo tendria que cambiar mi linea por tu linea y adaptador ?
Gracias
En esta linea: rutaAplicacion = ApplicationStartupPath
Sale que no esta declarado
- Editado AcuTau jueves, 12 de mayo de 2016 18:43
-
Hola:
Ese código te permite definir el reporte que gustes a un ReportViewer, pero para responderte donde es que va, me gustaría saber cual es le objetivo de definir por código el origen del rpt?, piensas reutilizar un solo reportViewer?
Saludos desde Monterrey, Nuevo León, México!!!
-
al inicio pensaba usar un solo report usando select case pero se me complico era 1 report y 3 rdlc. al final hice 3 form con su reportviewer y asi puedo usar los 3 rldc informes, entonces del codigo que describi arriba es como lo estado poniendo cada uno con su respectivo normal y la misma ubicacion.
Entonces para el caso del codigo que me propones como seria
-
Hola JackJJ,
Un archivo de configuración te puede servir incluso para guardar rutas, pero es innecesario. Lo que debes de hacer -y los aportes anteriores apuntan a eso- es definir una ruta relativa, ¿relativa respecto a que? pues relativa a la ubicación del ejecutable, lo que quiere decir que la ruta de reportes se "moverá" según se encuentre la aplicación.
La idea es que la ruta sea la siguiente:
Cualquier Ruta\MisReportes\Ventas.rdcl
Cualquier Ruta\MisReportes\Compras.rdcl
La ruta fija (la que quieres hardcodear) lo retorna ApplicationStartupPath()
-
Hola:
al inicio pensaba usar un solo report usando select case pero se me complico era 1 report y 3 rdlc. al final hice 3 form con su reportviewer y asi puedo usar los 3 rldc informes, entonces del codigo que describi arriba es como lo estado poniendo cada uno con su respectivo normal y la misma ubicacion.
Entonces para el caso del codigo que me propones como seria
La verdad no entendí la situación.
si tienes tres Forms con sus respectivos ReportViewer y tienes tres archivos rdlc, entonces para que deseas pasar la ruta de ejecución?, no seria mas sencillo si a cada ReportViewer le defines en el diseñador el reporte que debe cargar?, de esa manera te olvidas pasar por código la ruta de ubicación de los reportes...Insisto si mejoras un poco la descripción de tu problema quizás podamos dar una mejor solución a tu problema real.
Saludos desde Monterrey, Nuevo León, México!!!
-
hOLA,
Supongamos que la aplicacion la quiera pasar a otra maquina la ruta del reporte no sea la misa y va salir error xk capaz no lo encontrara a menos que cuando se añaden los reportes al exce lo haga pero si esta app la llevo fuera a otro lugar la condiguracion esta con mi computadora y si lo ejecuto alla no va correr,
-
-
No veo porque quieres hacer esto, si dejas todos tus reportes dentro de una carpeta a un lado del ejecutable de tu aplicación y si en tiempo de diseño defines el origen del reporte usando esta opcion tu aplicación debe de ser capas de resolver la ruta de ubicación sin intervención de nadie, esto se hace de manera automática siempre y cuando no modifiques el nombre de la carpeta contenedora todo debe de funcionar de la misma forma.
Saludos desde Monterrey, Nuevo León, México!!!
- Marcado como respuesta AcuTau viernes, 13 de mayo de 2016 2:41
-
Estuve pensando y recordando que hace una año hice una aplicacion la cual ejecute y no tome encuenta los reportes sin embargo, estoy si se mostraban sin error entonces segun lo que me comentan los reportes van donde la aplicacion.
Es que me quede pensando respecto al tema de la base de datos si esk no mueves a muchos lares(lugares) hay k meterse al codigo y modificar entonces con app.config solo modificas desde alli y solucionado. Entonces dije y los reportes? Pero ya veo que no .
Gracias a todos x su respuesta.
Solo era ese tema ya he terminado la aplicacion. Mi proximo proyecto es control de asistencia con huella y/o con tarjeta cob codigo de barras.
Algo nuevo para aprender en el uso de huella y codigo de barras. Tendre k conseguir el de huellas y el lector de tarjetas.
Gracias.
- Editado AcuTau viernes, 13 de mayo de 2016 2:44