Вы находитесь на странице: 1из 17

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

La Ranita Informática

Tegnologia, Musica y Actualidad

Inicio« La Ranita Informática Tegnologia, Musica y Actualidad El Autor… Escriba el texto a buscar a

El Autor…Ranita Informática Tegnologia, Musica y Actualidad Inicio Escriba el texto a buscar a

Escriba el texto a buscar a
Escriba el texto a buscar a

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Inicio > Desarrollo y Programación > Creación de Reportes con Crystal Reports en Visual Studio 2005/2008

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008

4 agosto 2011 mdelviso Deja un comentario Ir a los comentarios

Este pequeño tutor de como crear un reporte en Crystal Reports desde Visual Studio 2005/2008, lo hago porque he recibido muchas consultas de como hacerlo de la mejor forma, quizás hiera algunas susceptibilidades, pero espero que entiendan que también hay otras maneras de hacer las cosas.

En primer lugar en este tutor les voy a indicar como crear el reporte de la manera mas larga, pero también, es

la mejor manera para tener el control total sobre lo que queremos mostrar en el reporte.

La manera mas fácil de crear un reporte es agregar al proyecto un nuevo ítem de tipo reporte de Crystal Reports, y conectarse a la base de datos desde el explorador de servidores del Visual Studio, seleccionar las tablas y arrastrarlas sobre el diseñador del reporte.

Si, esta es la manera mas fácil, pero también la que mas problemas nos puede dar al momento de empezar a cambiar campos a mostrar o al tratar de agregar una condición o filtro a los datos que queremos mostrar en el reporte.

La anterior es una buena técnica, siempre y cuando el reporte sea sencillo y detectemos que no tendrá cambios.

A continuación describo la manera en yo creo mis reportes tanto para web como para windows. A muchos les

parecerá mas larga pero les aseguro que no tendrán problemas en el futuro pues tienen todo controlado ustedes.

Voy a utilizar un proyecto Windows Forms y una base de datos Sql Server 2008, pero se van a dar cuenta que

lo pueden hacer con cualquier tipo de base de datos.

No voy a entrar en detalles del tipo de conexión a la base de datos ni las instrucciones para traer los datos.

A continuación muestro la forma con los datos que vamos a utilizar para nuestro reporte:

A continuación muestro la forma con los datos que vamos a utilizar para nuestro reporte: 1

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Bueno la idea de nuestro proyecto es que poder tener un

Bueno la idea de nuestro proyecto es que poder tener un reporte con estos datos, lo primero que vamos a hacer es agregar a nuestro proyecto un objeto dataset, que es el que nos va a servir para poder crear nuestro reporte en Crystal Reports.

servir para poder crear nuestro reporte en Crystal Reports. Clic derecho en el nombre del proyecto,

Clic derecho en el nombre del proyecto, del menú seleccionamos la opción Add, y luego New Item… para que nos aparezca la siguiente pantalla y poder escoger el objeto a adicionar a nuestro proyecto.

aparezca la siguiente pantalla y poder escoger el objeto a adicionar a nuestro proyecto. 2 of

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Escogemos adicionar un objeto dataset que nos servirá como

Escogemos adicionar un objeto dataset que nos servirá como fuente de datos para el reporte y poder crear nuestro reporte como queremos. Le damos un nombre a nuestro dataSet, por lo general yo lo llamo igual que el reporte con el prefijo ds, entonces nuestro dataset se va a llamar dsPersonas.xsd

ds, entonces nuestro dataset se va a llamar dsPersonas.xsd Al darle clic al boton Add nos

Al darle clic al boton Add nos muestra la ventana de diseño en la cual vamos a agregar un datatable con sus respectivos campos que son los que necesitamos para dibujar el reporte. Al estar aquí, damos clic derecho sobre la superficie para poder agregar el datatable :

Al estar aquí, damos clic derecho sobre la superficie para poder agregar el datatable : 3
Al estar aquí, damos clic derecho sobre la superficie para poder agregar el datatable : 3

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Nos muestra el datatable creado, podemos cambiar el nombre que coloca por defecto, haciendo clic sobre el nombre y se coloca en modo de edicion para poder cambiarlo.

nombre y se coloca en modo de edicion para poder cambiarlo. Para agregar los diferentes campos

Para agregar los diferentes campos de nuestro datatable, seguimos los siguientes paso:

1. Clic derecho en el área de los campos del datatable y los vamos agregando.

el área de los campos del datatable y los vamos agregando. 2. al seleccionar Agregar Columna:

2. al seleccionar Agregar Columna:

y los vamos agregando. 2. al seleccionar Agregar Columna: nos permite colocarle el nombre a la

nos permite colocarle el nombre a la columna, este nombre DEBE ser igual al nombre que vamos a devolver en nuestra consulta SQL a la Base de datos.

DEBE ser igual al nombre que vamos a devolver en nuestra consulta SQL a la Base

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

3. agregando, podemos asignar el tipo de campo y su longitud

3.

agregando, podemos asignar el tipo de campo y su longitud en caso de ser una cadena ( String) y que sea requerido. Mi recomendación es que se apeguen a los mismos tipos de datos que están definidos en la base de datos.

En la ventana de propiedades de la columna que estamos

4. En proceso de agregar los campos necesarios para el reporte:

En proceso de agregar los campos necesarios para el reporte: Si me preguntan si es se

Si me preguntan si es se pueden agregar campos que no se van a utilizar en el reporte, la respuesta es SI, porque es posible que ya tengamos la consulta realizada que nos sirve para nuestro reporte y solo es crearlo a

ya tengamos la consulta realizada que nos sirve para nuestro reporte y solo es crearlo a

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

partir de la consulta que ya existe, y como la consulta nos devuelve datos que no vamos a colocar ene l reporte, de todas formas tenemos que crear esos campos en nuestro datatable.

5. Aqui esta nuestro datatable completo para empezar a generar nuestro reporte:

datatable completo para empezar a generar nuestro reporte: Quizás me pensaran: “es mucho trabajo” pero piensen

Quizás me pensaran: “es mucho trabajo” pero piensen en esto, este sistema si mas tarde necesitan agregar un nuevo campo es simplemente venir agregar el campo y actualizar la fuente de datos del reporte para tener acceso a ese nuevo campo que acabamos de crear, por el otro método, eso no es tan fácil, es mejor agregar el campo y volver a crear el reporte. Aclaración: “yo, particularmente, no he sabido, o no he logrado como hacerlo cuando lo intente”.

6. Creamos el reporte en crystal reports, nuevamente clic derecho en el nombre del proyecto, Add, New

Item

,

en la ventana que aparece, seleccionamos Reporting y escogemos el tipo de reporte Crystal Report:

que aparece, seleccionamos Reporting y escogemos el tipo de reporte Crystal Report: 6 of 17 11/05/2012

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Asignamos un nombre al reporte que se guarda con la

Asignamos un nombre al reporte que se guarda con la extensión .rpt, y clic al botón Add para crear el reporte en nuestro proyecto.

al botón Add para crear el reporte en nuestro proyecto. Aparece la siguiente pantalla para seleccionar

Aparece la siguiente pantalla para seleccionar el tipo de reporte a crear, en la parte izquierda señalado en el circulo rojo aparece una nueva barra de herramientas con la cual vamos a trabajar al adicionar los campos al reporte, en la parte derecha, he resaltado en el circulo rojo que se agregan al proyecto de manera automática las referencias necesarias para que funcionen los reporte de Crystal Reports en nuestro proyecto.

De la ventana, seleccionamos la segunda opción, crear un reporte en blanco “As a Blank Report

seleccionamos la segunda opción, crear un reporte en blanco “ As a Blank Report ” 7

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Al darle clic al boton OK de la pantalla anterior nos

Al darle clic al boton OK de la pantalla anterior nos muestra el reporte en blanco como aparece en la imagen anterior.

La sección de Report Header, colocaremos lo que queremos que aparezca solo en la primera hoja del reporte.

En la sección Page Header, colocaremos los que queremos se muestre en la cabecera de todas las paginas del reporte, aquí colocaremos los títulos de las columnas, por ejemplo.

En la sección Details, colocaremos el detalle de las columnas del reporte

La sección Report Footer, es la contraparte de la del Page Header, aquí podríamos colocar los números de pagina del reporte, por ejemplo.

La sección Page Footer es la contraparte de Report header.

Ya teniendo claro esto, lo siguiente es seleccionar la fuente de datos de nuestro reporte , aquí es donde entra a jugar el dataset que creamos en pasos anteriores, pues no necesitamos tener la conexión a la base de datos abierta para diseñar nuestro reporte.

necesitamos tener la conexión a la base de datos abierta para diseñar nuestro reporte. 8 of
necesitamos tener la conexión a la base de datos abierta para diseñar nuestro reporte. 8 of

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Damos Clic derecho en el Field Explorer en la entrada Database Field, al aparecer el menú contextual de la imagen seleccionamos Database Expert… para ir a seleccionar nuestra fuente de datos.

Expert… para ir a seleccionar nuestra fuente de datos. En esta ventana, expandimos Project Data, luego

En esta ventana, expandimos Project Data, luego ADO.NET DataSets, aquí nos van a aparecer todos los dataset que tengamos creados en nuestro proyecto, en nuestro caso solo aparece dsPersonas, que es el que hemos creado en pasos anteriores.

dsPersonas , que es el que hemos creado en pasos anteriores. Seleccionamos el datatable y damos

Seleccionamos el datatable y damos clic en el botón

ventana en la cual va a exponer los campos del datable para poder incluirlos en nuestro reporte.

para pasar los datos a la parte derecha de la

para poder incluirlos en nuestro reporte. para pasar los datos a la parte derecha de la

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Hacemos clic en el botón OK para empezar a diseñar nuestro

Hacemos clic en el botón OK para empezar a diseñar nuestro reporte. Al hacer esto, ya contamos con los campos del dataset en el Field Explorer:

reporte. Al hacer esto, ya contamos con los campos del dataset en el Field Explorer: 10

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Ahora simplemente es arrastrar los campos al área del reporte y colocarlos de la manera como deseamos se vea el reporte.

campos al área del reporte y colocarlos de la manera como deseamos se vea el reporte.
campos al área del reporte y colocarlos de la manera como deseamos se vea el reporte.

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Seleccionamos la Toolbox (barra de herramientas de crystal) y de allí escogemos el control text object y lo arrastramos a la sección de page header para colocar el titulo del reporte allí, en la imagen están seleccionados en círculos rojos todos los controles mencionados.

en círculos rojos todos los controles mencionados. Al arrastrar un campo del datatable y soltarlo en

Al arrastrar un campo del datatable y soltarlo en la sección de detalle de manera automática coloca un control de texto para el titulo del control que acabamos de arrastrar.

texto para el titulo del control que acabamos de arrastrar. Para corregir el texto del titulo,

Para corregir el texto del titulo, lo seleccionamos, le damos clic derecho al control y escogemos del menú la opción “Edit Text Object”, lo que nos permite cambiar el texto del titulo.

Object ”, lo que nos permite cambiar el texto del titulo. La imagen nos muestra como

La imagen nos muestra como queda nuestro reporte, no es el alcance de este tutor, indicar como colocar los diferentes atributos de presentación grafica del reporte.

En nuestro formulario windows (web forms) o en nuestro formulario web (web forms) agregamos un control CrystalReportViewwer , el cual nos servirá para mostrar nuestro reporte en pantalla y poder imprimirlo o exportarlo a algún formato como PDF o Excel.

reporte en pantalla y poder imprimirlo o exportarlo a algún formato como PDF o Excel. 12

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

En el boton Imprimir de nuestro formulario, el codigo que voy a colocar para ir a la base de datos, realizar la consulta de los datos, colocarlos en un datatable y este datatable pasarlo a la propiedad datasource del reporte.

A continuacion el codigo del boton imprimir:

Private Sub btnImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImprimir.Click Dim oCnn As New OleDbConnection ‘ Objeto de conexion a la base de datos Dim daDatos As New OleDbDataAdapter ‘ Objeto Adaptador para leer datos de la Base de datos Dim cmdExec As New OleDbCommand ‘ objeto comando para ejecutar sentencias sql Dim dtDatos As New DataTable ‘ datatable para recibir los datos de la base de datos Dim sbQuery As New StringBuilder ‘ StringBuilder para armar cadenas TryoCnn.ConnectionString = “Provider=SQLNCLI10;Server=ralvarado; Database=MiBD;Uid=sa; Pwd=XXX;” oCnn.Open() cmdExec = oCnn.CreateCommand cmdExec.Connection = oCnn

sbQuery.Append(“SELECT Consecutivo “)

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“

sbQuery.Append(“ FROM Persona “) cmdExec.CommandText = sbQuery.ToString

,IdentificacionPersona “) ,TipoPersona “) ,Grupo “) ,PrimerNombre “) ,PrimerApellido “) ,SegundoApellido “) ,Sexo “) ,Profesion “) ,Direccion1 “) ,Direccion2 “) ,TelFijo1 “) ,TelFijo2 “) ,TelMovil “) ,PaginaWeb “) ,ZonaPostal “) ,Fax “) ,Email1 “) ,Email2 “) ,FechaNacimiento “)

daDatos = New OleDbDataAdapter(cmdExec) daDatos.Fill(dtDatos)

Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument

Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument 13 of 17 11/05/2012 12:25 p.m.

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

‘ Asigno el reporte CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument() CrReport.Load(Application.StartupPath & “\crPersonas.rpt”) CrReport.SetDataSource(dtDatos)

CrystalReportViewer1.ReportSource = CrReport

Catch ex As Exception MessageBox.Show(“excepcion: ” & ex.Message, “Mostrando Reporte”) End Try

End Sub

Y en C#

CrystalDecisions.CrystalReports.Engine.ReportDocument crReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string path = Server.MapPath(“ \\4_REPORT\\Limpiezas.rpt”); crReport.Load(path);

crReport.SetDataSource(dsListado.Tables[0]);

Observen que al llenar los datos en dtDatos, simplemente debo asignarle este objeto al Reporte en su método SetDataSource. Con esto puede ser cualquier base de datos, siempre y cuando los datos correspondan a la estructura del dataset creado como fuente de datos del reporte.

Si en algún momento nuestro reporte cambia que hay que agregarle un nuevo campo, simplemente vamos a nuestro dataset y le agregamos el campo, luego vamos al reporte y lo abrimos y verificamos nuestra fuente de datos para que nuestro nuevo campo aparezca en al lista, luego es simplemente incluirlo en el reporte.

nuestro nuevo campo aparezca en al lista, luego es simplemente incluirlo en el reporte. 14 of
nuestro nuevo campo aparezca en al lista, luego es simplemente incluirlo en el reporte. 14 of

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Bueno espero haber sido claro en como crear un reporte con Crystal Report y les aseguro que no van a tener problemas al momento de modificaciones en el reporte.

Sé el primero en decir que te gusta esta post.
Sé el primero en decir que te gusta esta post.

Categorías:Desarrollo y Programación Etiquetas: Creación de Reportes, Creación de Reportes con Crystal Reports, Crystal Reports Comentarios (0) Trackbacks (0) Deja un comentario Trackback

1. Aún no hay comentarios.

1. Aún no hay trackbacks

Deja un comentario

comentarios. 1. Aún no hay trackbacks Deja un comentario Error en IIS 7 con .Net –

Error en IIS 7 con .Net – Activar servicios. How to export a Crystal Report using C# RSS feed

en IIS 7 con .Net – Activar servicios. How to export a Crystal Report using C#

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

agosto 2011

L

M X

J

V

S

D

1

2

3

4

5

6

7

8

9

10 11 12 13 14

15

16 17 18 19 20 21

22

23 24 25 26 27 28

29

30 31

 

« jun

 

sep »

 

Entradas recientes

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

Lista Maxima FM – 51 Chart – Abril 2012 – Descarga Directa[Completa] 320 KbpsPlan de Mantenimiento de SQL Server – SQL SERVER 2008 Como

Plan de Mantenimiento de SQL Server – SQL SERVER 2008Chart – Abril 2012 – Descarga Directa[Completa] 320 Kbps Como desactivar todas las constraints en una

Como desactivar todas las constraints en una base de datos de SQL ServerKbps Plan de Mantenimiento de SQL Server – SQL SERVER 2008 Abrir mi aplicacion una sola

Abrir mi aplicacion una sola vez [C# Aplicación windows - Única instancia]todas las constraints en una base de datos de SQL Server ¿Cómo leer y escribir parámetros

¿Cómo leer y escribir parámetros de configuración en C#?una sola vez [C# Aplicación windows - Única instancia] Tareas de mantenimiento en SQL Server 2008

Tareas de mantenimiento en SQL Server 2008¿Cómo leer y escribir parámetros de configuración en C#? Tematica Actualidad y Tecnología (53) Deportes (6)

Tematica

Actualidad y Tecnología (53) (53)

Deportes (6) (6)

Desarrollo y Programación (55) (55)

Manuales (49) (49)

Tiempo Libre (28) (28)

VideoClips Y Music (15) (15)

Etiquetas

c# Caja magica convertir fechas David Guetta formatear fechas c# Grabar Juegos Xbox360 guru josh Guru Josh Project ImgBurn infinity infinity

2008 intercambio intercambio de paises iPhone 4 Jailbreak key windows lista maxima lista maxima descarga lista

maxima fm Manual master de madrid maximafm lista maxima fm megaupload mundo nuevo sistema operativo parque

lineal manzanares project Quitar estrella azul san fermin snes Snowboard SO 7 sql server String Format for DateTime [C#] Team Build

tenis Validar Windows viajes VMware vídeo. windows 7 windows 7 release windows seven xbox360 Xp serial

Entradas Más Visitadas

Activador Windows Server 2008, 7 y Vista (ULoader v5.0.0.7)windows seven xbox360 Xp serial Entradas Más Visitadas Windows 7 Loader v2.0.0 by Daz (x86 –

Windows 7 Loader v2.0.0 by Daz (x86 – x64), Activador de Windows 7Activador Windows Server 2008, 7 y Vista (ULoader v5.0.0.7) [Manual] Grabar Juegos Xbox360 [ImgBurn] Recopilación

[Manual] Grabar Juegos Xbox360 [ImgBurn]7 Loader v2.0.0 by Daz (x86 – x64), Activador de Windows 7 Recopilación Tutoriales de Flasheo

Recopilación Tutoriales de Flasheo [XBox360][Manuales]de Windows 7 [Manual] Grabar Juegos Xbox360 [ImgBurn] Quitar el icono de la estrella azul: Validar

Quitar el icono de la estrella azul: Validar Windows XPRecopilación Tutoriales de Flasheo [XBox360][Manuales] Actualización automática con Timer de un UpdatePanel y

Actualización automática con Timer de un UpdatePanel y mostrar UpdateProgressQuitar el icono de la estrella azul: Validar Windows XP Pc Fútbol 2010 [MEGAUPLOAD] 16 of

Pc Fútbol 2010 [MEGAUPLOAD]XP Actualización automática con Timer de un UpdatePanel y mostrar UpdateProgress 16 of 17 11/05/2012 12:25

con Timer de un UpdatePanel y mostrar UpdateProgress Pc Fútbol 2010 [MEGAUPLOAD] 16 of 17 11/05/2012

Creación de Reportes con Crystal Reports en Visual Studio 2005/2008 «

http://mdelviso.wordpress.com/2011/08/04/creacion-de-reportes-con-crys

String Format for DateTime [C#] - Formateo de Fechas Arriba

String Format for DateTime [C#] - Formateo de Fechas

Arriba WordPress Blog de WordPress.com. Tema INove by NeoEase.

- Formateo de Fechas Arriba WordPress Blog de WordPress.com . Tema INove by NeoEase . 17