Principales respuestas
Reportes.

Pregunta
-
Hola a todos.
Una consulta, como puedo llamar a un reporte desde visual basic .net, es decir, en un formulario poner un botton, al precionar ese boton se abra el reporte.
Ademas que cuando lleve ese programa a otra maquina este reporte pueda funcionarme.
Gracias y saludos.- Cambiado Fran DiazModerator jueves, 21 de mayo de 2009 17:24 Reporting ([Loc]From:Lenguaje VB.NET)
Respuestas
-
-
-
Hola falconhorse28,
Tan solo tienes que darle a agregar un nuevo archivo de tipo informe(el que tiene extensión .rdl), agregas una fuente de datos desde la pestaña de datos y luego arrastra una tabla(por poner un ejemplo, tienes más controles para añadir, aunque esta es la principal) y vas arrastrando los campos que te salieron al crear la fuente de datos a esta.
Una vez hecho esto, lo puedes llamar desde el botón con un nuevo formulario y en este un control llamado ReportViewer. Este control te engancha el report y se encarga de ejecutarlo. Una vez arrastrado el control al formulario, vete a las propiedades y en localreport->ReportEmbeddedResource escribe el nombre del informe creado con su extensión.
Hasta aquí todo bien, es más no debería de darte más problemas. Cuando crees la fuente de datos, inserta la misma sql que tenías para tu dataset.
Espero haberte aclarado el tema, sino ya sabes donde encontrarme
.
Un Saludo
-
-
Hola,
Es normal que no te vaya si tienes puesta esa sql, lo normal hubiera sido, que en el menú informe->parametros le hubieras añadido uno y luego haberlo agregado a la sql tal que así: "select usurio from usuarios where fecha='" & Parameters!MiParametro.Value&' "
El error que te da es normal, debido a que el informe no tiene un textbox llamado "generales.fecha1.text " que me imagino que sería de un formulario(si fuera del informe, tampoco puede ser de esa forma).
He leido que has probado con crystal reports, yo no he utilizado mucho esos informes, asi es que no puedo ayudarte mucho con ello. Si quieres probar lo que te puse, por aquí andaré.
Un Saludo
Todas las respuestas
-
ya consegui hacer los puntos planteados, otra consulta y espero que puedan ayudarme, toda la conexion a mi base de datos la hice por codigo, ejemplo.
dim conn as new oledbconnection
dim ds as new dataset
dim da as new oledbdataadapter
dim comando as new oledbcommand
puse la cadena de conexion hacia ORACLE, y todo ok, los resultados lo mostré en un DATAGRID y salia todo OK.
Ahora el resultado que me muestra el datagrid quiero mostrarlo en un reporte con crystalreport.
Como puedo hacer eso?.
Saludos. -
-
-
-
Cuando entro al wizard de crystal report me pide algun dataset o odbc, o otro tipo de conexion, yo no tengo ninguna de esas cosas, todo lo he armado por codigo, llamo al dataset en codigo, no creo uno fisicamente como es el caso del crystal report.
EL problema es hacer el reporte pero por codigo, ya que no tengo nada creado fisicamente.
Gracias y saludos. -
-
Hola falconhorse28,
Tan solo tienes que darle a agregar un nuevo archivo de tipo informe(el que tiene extensión .rdl), agregas una fuente de datos desde la pestaña de datos y luego arrastra una tabla(por poner un ejemplo, tienes más controles para añadir, aunque esta es la principal) y vas arrastrando los campos que te salieron al crear la fuente de datos a esta.
Una vez hecho esto, lo puedes llamar desde el botón con un nuevo formulario y en este un control llamado ReportViewer. Este control te engancha el report y se encarga de ejecutarlo. Una vez arrastrado el control al formulario, vete a las propiedades y en localreport->ReportEmbeddedResource escribe el nombre del informe creado con su extensión.
Hasta aquí todo bien, es más no debería de darte más problemas. Cuando crees la fuente de datos, inserta la misma sql que tenías para tu dataset.
Espero haberte aclarado el tema, sino ya sabes donde encontrarme
.
Un Saludo
-
Gracias por tu respuesta Fran Diaz, otra consulta segun lo que me indicas, entonces tengo que tener un dataset fisico?.
Porque tengo mi conexion a la base de datos mediante codigo y cadena de conexion.
También en mi sql, jala datos de un textbox, ponga el sql igual?.
Saludos y gracias. -
-
Hola Fran.
mi sql tiene por ejemplo "select usurio from usuarios where fecha='& generales.fecha1.text &' ", asi como esta lo pongo.?
Perdon por insistir tanto.
Creo mi origen de datos, se conecta a la base jalo algunos campos al reporte, el reporte se llama Reporte2.rdlc.
entro a localreport -> Reportembeddedresource -> le pongo Reporte2.rdlc.
Hago correr el programa, cuando abro el reporte me sale el siguiente error:
The report definition for report 'Report2.rdlc' has not been specified
Que puede ser?.
Saludos y muchas gracias -
hola a todos, bueno estuve investigando, por ahi y me pase a crystal report, ya pude enviar parametros al crystal, pero no puedo desplegar los resultados que me muestra el datagrid en el reporte.
Como debería diseñar el reporte para que me muestre los mismos datos del datagrid en el reporte?.
Saludos. -
Hola,
Es normal que no te vaya si tienes puesta esa sql, lo normal hubiera sido, que en el menú informe->parametros le hubieras añadido uno y luego haberlo agregado a la sql tal que así: "select usurio from usuarios where fecha='" & Parameters!MiParametro.Value&' "
El error que te da es normal, debido a que el informe no tiene un textbox llamado "generales.fecha1.text " que me imagino que sería de un formulario(si fuera del informe, tampoco puede ser de esa forma).
He leido que has probado con crystal reports, yo no he utilizado mucho esos informes, asi es que no puedo ayudarte mucho con ello. Si quieres probar lo que te puse, por aquí andaré.
Un Saludo
-
-
Hola de nuevo,
La SQL la puedes hacerlo a través de un origen de datos nuevo. Este te pedirá una base de datos, un sql y listo.
Luego te vas a el informe y en el menú informe, te creas un nuevo parámetro. Ahora te vas a de nuevo a el menú informe-> origen de datos, selecciona el origen de datos agregado a tu informe y dale a properties. Una vez aquí, vete a filters y en expresión pones el campo por el que vas a filtrar, en operador, el operador que vayas a utilizar y en valor te pedirá una expresión. Aqui pondrás lo siguiente: Parameters!TuParametro.Value
Tan solo te queda pasarle a tu parámetro el valor que quieras(desde un textbox, base de datos, ect). Aqui muestro como hacerlo:
http://geeks.ms/blogs/fdiaz/archive/2007/08/20/llamando-a-nuestro-informe-desde-el-reportviewer.aspx
Espero que te sirva.
Un Saludo