Está en la página 1de 30

Hacer Crystal Report con DataSet en

Visual Basic.NET






46 Votes

Hola amigos, hoy les traigo aqu una forma bien sencilla de hacer reportes con crystal report en
Visual Basic, la forma que utilizar no es la ms ptima pero en las diferentes formas que he hecho
reportes con Crystal Reports si es la que ms facilidad me ha dado.
Como ya les dije la forma que utilizo no es la ms ptima debido a que utilizo mtodos algo
pesados para traer los datos, espero en el futuro hacer un post ms en la que lo haga con
procedimientos almacenados o alguna otra forma ms eficaz que la que pondr a continuacin.
Lo siguiente sirve en muchos casos para proyectos pequeos de la universidad, a pesar de que
utlizar Visual Studio 2008 esto sirve muy bien para Visual Studio 2005 tambin, asi que
comencemos:
1.- Proceder a crear un proyecto en Visual Basic 2008, con el Framework 2.0, y le pondr de
nombre EjemploReporteCrystal, obviamente si ya tienen el proyecto creado no deben de hacerlo.

2.- Despus lo que hacemos es insertar un DataSet de nuestra base de datos, si no sabes como
hacerlo da clic aqu.

3.- Luego de eso agregamos un nuevo elemento, para esto damos clic derecho en nuestro proyecto
> Agregar > Nuevo
Elemento.
4.- Tendremos un formulario como el siguiente en donde escogeremos la opcin de la izquierda,
seleccionamos Reporting > Seleccionamos ahora Crystal Report > Le ponemos un nombre > y
damos clic en Adjuntar.

5.- Ahora lo que veremos ser un wizard o ayudante que nos permitir crear un reporte de manera
sencilla, debern entonces de ver una imagen como la siguiente y darle clic en ok. Dejen las
opciones tal como las tengo en mi imagen.

6.- Lo siguiente es escoger de donde sacaremos los datos que mostraremos, para esto en la
siguiente pantalla que se les mostrar que deber ser como la imagen que coloco abajo, ustedes
debern escoger Datos del Proyecto > ADO.NET DataSets >
EjemploReporteCrystal.BD_EjemploProcedimientosDataSet (Este es mi dataset que puse enante,
entonces aqu colocan el de ustedes) > y escogen las tablas que utilizarn en su reporte, en mi
caso escog 2, ya que utilizar datos de las 2 tablas > Presionamos el boton > para cada tabla
que queramos utilizar en el reporte y una vez hecho esto damos en siguiente.

7.- En la siguiente pantalla veremos como estn relacionadas las tablas, no hay practicamente nada
que explicar asi que damos clic en siguiente.

8.- Ahora en esta pantalla siguiente si hay que poner asunto, porque es aqu en donde diremos que
campos de que tablas y en qu lugar los queremos en nuestro reporte, entonces vemos como tengo
mis 2 tablas y escojo los datos que necesito de las 2, sin preocuparme de como estn relacionadas
ni nada por el estilo, como ven en esta parte lo que hago es darle sentido a la forma de presentar
mis datos.

9.- Luego de esto vendrn ciertas opciones como la que utilizar a continuacin que es de agrupar
los datos en un cierto orden, y la forma que escogi de agruparlos es por gneros iguales, esto lo
hago especificando en la parte de agrupamiento qu campo es el que quiero agrupar.

10.- Lo que sigue son ms opciones como les dije, pero en este momento yo ya le di en finalizar, ya
que no necesito hacerle ms cosas a mi reporte, por ahora. Luego de dar clic en finalizar tendr una
imagen como la que est abajo, la parte que tengo tachada es una parte que no quiero mostrar en
ejecucin por tanto para ocultarlas les damos clic derecho en la parte gris y al desplegarse un men
de opciones seleccionamos ocultar.

11.- Bien ahora regresamos y abrimos nuestro form, y buscamos nuestro origen de datos, si no lo
vemos por ahi, damos clic en el men de Visual Studio en la opcin de Datos > Seleccionamos ver
Origenes de Datos y listo, tendrn que poder ver su dataset con las tablas al lado como en la
imagen. Pero bueno lo que debemos hacer con esto es arrastrar esas 2 tablas a mi formulario, y esto
para qu es? pues es para colocar esos controles que ven abajo junto con el dataset que estn
encerrados en el rectngulo verde, son controles que ya vienen cargados con datos necesarios y que
no tendremos que ponerlos nosotros, por ejemplo ruta de la base de datos o metodos de conexin y
desconexin, etc.

12.- Despus de poner esas tablas las sacamos junto con la barra que se pone en la parte superior,
y deber quedarnos tener algo como lo que sigue.

13.- Luego de lo que hicimos vamos a la caja de herramientas y buscamos un control llamado
CrystalReportViewer, lo arrastramos y colocamos en el formulario, este control ser el que nos
permita vizualizar nuestro reporte hecho anteriormente.

14.- Entonces una vez hecho esto damos doble clic en el borde del form para entrar al metodo load
del mismo y poner el codigo que sigue a continuacin. Aclarando un poco sobre ese cdigo, lo que
hacen las 2 primeras lneas es filtrar los datos de las tablas indistintamente si estn relacionadas, las
otras 3 lneas sirven para cargar nuestro reporte en el reportviewer que pusimos en el form, para
esto cree un objeto llamado rpt del reporte(), que fue mi reporte que creamos hace rato, y en su
propiedad SetDataSource le envie el dataset del proyecto que obviamente ya tiene los datos filtrado
gracias a las 2 lneas primeras, por ltimo mande a cargar este reporte al control del form con su
propiedad ReportSource.

15.- Luego de esto si lo ejecutan debern ver algo como esto.

16.- Ahora abramos el DataSet para crear algo extra, a continuacin lo que haremos es crear un
mtodo que nos filtree solo los datos de las personas de gnero masculino. Para esto demos doble
clic sobre el dataset o clic derecho y Open.

17.- Damos clic derecho sobre la tabla en la que crearemos el filtro > Adjuntar > Query.

18.- Lo que haremos a las siguientes 2 pantallas es simplemente darles clic en siguiente.


19.- Luego tendremos esto y lo que haremos es agregar otra tabla para relacionarla con la actual,
para esto damos clic derecho en la parte blanca al lado de la tabla y en las opciones que se
despliegan seleccionamos Adjuntar Tabla.

20.- Ya que nuestra Base de Datos solo posee 2 tablas solo podremos escoger 1, que es la tabla
TGenero que es la que no tenemos puesta, la seleccionamos y damos clic en Adjuntar y luego en
Cerrar.

21.- Como vemos a continuacin ya nos aparece la tabla que agregamos relacionada con la primera
que teniamos, esto es debido a que ya desde que las creamos hicimos esta relacin; lo que sigue el
como se ve en la imagen poner en la parte del medio o directamente en el query que necesitamos de
la tabla TGenero el campo nombre_genero y que este nos servir como filtro, por eso colocamos en
la parte de filtro la palabra=@nombre_genero adems debemos de sacar este campo de rea Select,
ya que si lo dejamos ah no nos mostrar datos en nuestro reporte, o por lo menos eso es lo que me
ha sucedido en la prctica, porque si lo ejecutamos en ese instante con el botn Execue Query si
funciona normalmente pero con el Crystal Report encontre esa falla.

22.- Ya al haberle dado clic en OK debe de presentarnos la siguiente imagen en la cual veremos ya
hecha nuestra sentencia query de consulta, damos clic en siguiente para continuar.
23.- Ahora
le pondremos un nombre tanto en la parte donde dice Fill a DataTable como en Return a DataTable,
damos clic en siguiente.
24.- Lo que
viene es que ejecutar lo que hicimos en el DataSet y guardar los cambios, solo le damos clic en
Finalizar.

25.- Ahora en el cdigo modificaremos la lnea que hacia el filtro en la tabla TPersona, en mi caso
la puse como comentario, y coloqu la que cree recin, pueden ver que despus del DataSet le
pongo una coma y le envio un parmetro, esto es debido a que en mi query le puse el
@nombre_genero, entonces por cada parmetro as que pongamos en el query que hicimos
debemos enviarlo aqu es esa lnea despus del DataSet en el orden que nos lo pide la instruccin;
en ese cdigo yo puse la opcin masculino directamente, si nosotros la colocaramos o escogieramos
desde un textbox o un combobox este sera el que pondramos ah con su propiedad text.

26.- Ya lo que queda es ejecutar la aplicacin y podremos ver que solo nos filtrar los datos de las
personas de gnero masculino.


Bueno con eso he finalizado este pequeo manual de cmo hacer un Crystal Report en
Visual Basic.NET, espero les haya sido de ayuda y ah me cuentan que tal les fue, hasta, a2.
Cmo crear un enlace con nuestra BD
ya hecha
Hola, espero te sirva de una u otra forma lo que escribo en mi blog, cuando empezaba con esto de
trabajar con una base de datos no entenda como trabajar con el asistente de Visual Studio para
conectarme con una base de datos que ya estuviese hecha, pero viendo unos videos por ahi, y
leyendo para ms informacin aprendi algo, aqui te comparto entonces algo sencillo, pero que
cuando comenzamos y ms an nunca trabajamos en Visual Studio no sabemos
Digamos que ya tenemos hecha nuestra base de datos (presiona aqu para ver como hacer una base
de datos sencilla) con sus respectivas tablas, lo que haremos es como en la imagen presionar la
opcin Datos > Agregar nuevo origen de datos.


A continuacin tendremos la siguiente vista, y en esta ventanita automticamente ya tendremos
seleccionada la opcin de Base de datos, entonces como esta es la que queremos utilizar daremos
clic en el botn Siguiente.

Luego tendremos esta ventana, si ya utilizamos una base de datos nos aparecer el nombre ah, si
no es as aparacer vaco, y presionamos el botn que se encuentra a la derecha, el que dice Nueva
conexin.

Ahora, como vemos tendremos la ventana para agregar conexin, tenemos que asegurarnos de que
tengamos seleccionado el Origen de datos con el proveedor de datos Microsoft SQL Server
(SqlClient). Si no es as presionamos el botn Cambiar.


Para seleccionar el proveedor de nuestra base de datos (que hicimos en SQL Server) seleccionamos
Microsoft SQL Server (si la hicimos en el SQL Express seleccionamos la opcin de Archivo de base de
datos de Microsoft SQL Server, ya que los pasos son los mismos). Y damos clic en Aceptar.

Ahora, con la ventana anterior escribiremos el nombre de nuestro servidor, si no lo recordamos
pueden abrir el SQL Server y vern el nombre ah, o la forma ms fcil es solo desplegar la flecha del
combo box y seleccionar el nombre del servidor.

Luego de esto, podremos seleccionar la base de datos que utilizaremos buscndola en la lista de
Seleccionar o escribir nombre de base de datos.

Una vez que seleccionamos la base de datos que utilizaremos daremos clic en Probar conexin,
presionamos el botn Aceptar del mensaje de confirmacin de la conexin, y por ltimo en el
botn Aceptar de la ventana de agregar conexin.

Al hacer lo anterior regresaremos a la ventana que tenamos al asistente inicial, y en esta daremos
clic en Siguiente.

No presentar la siguiente pantalla que lo que har es darle un nombre a nuestra conexin, y como
es algo por default que nos sirve no la modificaremos y daremos clic en Siguiente.


Luego, lo que tendremos en el asistente para configuracin de origenes de datos la parte de escoger
los objetos que traeremos para trabajar, ampliaremos la lista de Tablas y escogeremos las tablas
que utilizaremos, en mi caso tengo algunas tablas y las escog todas, si no las necesitara todas solo
escogera las necesarias. Y daremos clic en Finalizar.

Y veremos como automticamente nuestras tablas aparecern al lado derecho de nuesto entorno (o
al lado izquierdo, depende de como est configurado).


Entonces lo que haremos es seleccionar una tabla que queramos y presionando el botn izquierdo
del mouse y mantenindolo la arrastraremos hasta el formulario que tengamos abierto y soltaremos
el botn del mouse cuando estemos dentro de este formulario. Vern como automticamente se
crea una tabla y un toolstrip en la parte superior.


Si queremos algo como unos textbox para los datos lo que haremos es en la parte donde
tenermos el origen de datos, seleccionamos la tabla deseada y damos clic en la flecha que tiene al
lado, y como vemos en la imagen seleccionamos la opcin Detalles.


Y hacemos lo mismo que con la tabla, presionamos y arrastramos, y vern que automticamente
tendremmos los textboxs en el formulario y con nombres por defecto, pero muy elocuentes.


Y bueno con esto ya tenemos nuestra conexion a la base de datos que creamos, espero te haya
servido A2.

También podría gustarte