12
Comenzando con Crystal Reports y Visual Basic .NET: "Instalación y configuraciones iniciales" Como me han preguntado bastante sobre cómo comenzar a trabajar con Crystal Reports desde el Microsoft Visual Studio 2010 he decidido publicar este post en el que se mencionan algunos aspectos importantes sobre el entorno que debemos configurar antes de comenzar a trabajar, esto funciona si se quiere integrar la herramienta de Crystal Reports al IDE. Posteriormente, ya para comenzar a diseñar los informes y adaptarlos al lenguaje de programación no encontré mejor tutorial que la misma documentación en línea de Microsoft (msdn Crystal Reports). Sigo con lo referente a instalación y primeros pasos. Instrucciones para trabajar con Crystal Reports: 1) Descargar Crystal Reports para Visual Studio 2010 de la página oficial: http://www.sap.com/solutions/sap-crystal-solutions/query-reporting-analysis/ sapcrystalreports-visualstudio/downloads/index.epx (De la lista que aparece descargar el primero: versión standard ) 2) Instalarlo siguiendo las instrucciones del asistente. 3) Crear un nuevo proyecto de tipo 'Aplicación de Windows Forms' (OJO que no tiene que ser necesariamente un proyecto de tipo 'Aplicación de Crystal Reports') y guardarlo adecuadamente utilizando la opción 'Guardar todo' ó <Ctrl-Shift-S> 4) Cambiar el marco .NET Framework del proyecto. Se me hizo necesario porque yo lo tenía en el ".NET Framework 4 Client Profile" y debe estar simplemente en ".NET Framework 4" (a secas) Para hacer esto... 4.1) Irse a las propiedades del proyecto o teclear <Ctrl-Enter> 4.2) Seleccionar la pestaña "Compilar" 4.3) Oprimir el botón "Opciones de compilación avanzadas" 4.4) En el último combobox escoger .NET Framework 4 (a secas) 4.5) Responder al dialog box "Sí, si quiero hacer esto" 5) Ya se podrán usar los objetos de Crystal Reports como "Crystal Reports Document" ó "Crystal Reports Viewer" que son básicamente las herramientas principales para la creación de informes con Crystal.

Comenzando Con Crystal Reports y Visual Basic

Embed Size (px)

Citation preview

Page 1: Comenzando Con Crystal Reports y Visual Basic

Comenzando con Crystal Reports y Visual Basic .NET: "Instalación y configuraciones iniciales" Como me han preguntado bastante sobre cómo comenzar a trabajar con Crystal Reports desde el Microsoft Visual Studio 2010 he decidido publicar este post en el que se mencionan algunos aspectos importantes sobre el entorno que debemos configurar antes de comenzar a trabajar, esto funciona si se quiere integrar la herramienta de Crystal Reports al IDE. Posteriormente, ya para comenzar a diseñar los informes y adaptarlos al lenguaje de programación no encontré mejor tutorial que la misma documentación en línea de Microsoft (msdn Crystal Reports). Sigo con lo referente a instalación y primeros pasos.

Instrucciones para trabajar con Crystal Reports:

1) Descargar Crystal Reports para Visual Studio 2010 de la página oficial:

http://www.sap.com/solutions/sap-crystal-solutions/query-reporting-analysis/sapcrystalreports-visualstudio/downloads/index.epx

(De la lista que aparece descargar el primero: versión standard)

2) Instalarlo siguiendo las instrucciones del asistente.

3) Crear un nuevo proyecto de tipo 'Aplicación de Windows Forms' (OJO que no tiene que ser necesariamente un proyecto de tipo 'Aplicación de Crystal Reports') y guardarlo adecuadamente utilizando la opción 'Guardar todo' ó  <Ctrl-Shift-S>

4) Cambiar el marco .NET Framework del proyecto. Se me hizo necesario porque yo lo tenía en el ".NET Framework 4 Client Profile" y debe estar simplemente en ".NET Framework 4" (a secas)

Para hacer esto...

 4.1) Irse a las propiedades del proyecto o teclear  <Ctrl-Enter> 4.2) Seleccionar la pestaña "Compilar" 4.3) Oprimir el botón "Opciones de compilación avanzadas" 4.4) En el último combobox escoger .NET Framework 4 (a secas) 4.5) Responder al dialog box "Sí, si quiero hacer esto"

5) Ya se podrán usar los objetos de Crystal Reports como "Crystal Reports Document" ó "Crystal Reports Viewer" que son básicamente las herramientas principales para la creación de informes con Crystal.

Page 2: Comenzando Con Crystal Reports y Visual Basic

Informe Maestro detalle utilizando DataSet y Crystal Report[Crear un Informe Maestro Detalle utilizando Dataset tipado y Crystal Report]

Fecha: 05 de Noviembre de 2004 (05/11/2004)Autor: Eric Enrique Escobar [email protected]

Introducción

Este artículo mostrare la forma de crear un reporte maestro detalle utilizando la plantilla CrystalReport que provee Visual Studio .NET y utilizando un DataSetTipado como Origen de datos para poblar el reporte. Nos introduciremos un poco en la funcionalidad ofrecida por el asistente para crear reportes, Usaremo el ReportViewer para mostrar los datos del reporte y finalmente explicare un poco del NameSpace System.Data.Sql, especificamente los objetos SQLConnection, SqlDataAdapter.

Código de Ejemplo: Reporte Producto por Categoria (Nothwind)

Los pasos siguientes los podriamos realizar en difentes orden o hacerlos otra forma, aqui solo les muestro una manera de hacerlo.

Crear el DataSet Tipado

Este dataset almacenara la información de las tablas Products y Categories de la base de datos Northwind. Para crearlo:

1. Agregemos un nuevo elemento al proyecto utilizando la plantilla DataSet, usare el nombre dsProductByCategories.xsd. Por el Momento el dataset esta vacio, no contiene elementos (Tablas, Ni Relaciones). Una buena via para adicionar tablas a un DataSet es utilizar es Explorador de servidores, primero debes crear una conexión a la base de datos

Page 3: Comenzando Con Crystal Reports y Visual Basic

utilzando la opcion Agregar Conexión, en las conexiones de datos.

2. Desde la conexión a la base de datos Northwind seleccione la tabla Products y arrastrala hasta el diseñador del Dataset(dsProductByCategories.xsd.), repite lo mismo con la tabla categories. Visual Studio .NET crea las tablas como elementos del dataset con todos los registros contendo en estas y los tipos de datos adecuados.

3. Para crear la relacion (DataRelaction) entre las tablas products y Categories, se toma el campo CategoryID de Categories y Se arrastra hasta el Campo CategoryID de Productos, de esta forma definimos que el Elemento Primario es Categories, que el Elemento Secundario es Productos, que el Campo Clave es CategoryID(Categories) y que el Campo de Clave

externa es CategoryID (Productos).

Crear la pantallia del Reporte

Utilizaremos la plantilla CrytalReport, esta pantilla nos permite creer una gran variedad de estilos de reportes basados en el crystal report gallery. Para utilizar esta plantilla:

1. Agregar un nuevo elemento al proyecto, en la sección categorias seleccione utilidad y luego la plantilla CrystalReport, asigne un nombre al reporte utilizare crProductByCategory.rpt. Despues de aceptar Visual Studio presenta la Galeria de Crystal Report

2. Cree un nuevo documento de crystal report utilizando el asistente de informes Estandar y acepte.

3. Ahora vamos a definir el origen de datos. Selecciones Proyect Data en la Ficha Datos, Seleccione ADO .NET DataSets, esta lista presenta el dataset dsProductByCategories.xsd (creado anteriormente) y las tablas de este dataset Seleccionemos las dos tablas e

Insertemosla en las tablas del reporte (como muestra la figura).

Page 4: Comenzando Con Crystal Reports y Visual Basic

4. En al ficha campos (Fields) adiciones los campos de las dos tablas que incluiresmos en el informe (Como muesta la figura siguiente)

Page 5: Comenzando Con Crystal Reports y Visual Basic
Page 6: Comenzando Con Crystal Reports y Visual Basic

5. En la Ficha Group (Grupo), seleccionemos que vamos agrapar por CategoryName (Como muestra la figura Siguiente).

6. En al ficha Total adicionos los campos a sumarizar, para este ejemplo adicionaremos UnitPrice y UnitsInStock de la Products.  Para UnitPrices seleccionaremos en el Summary Type(tipo de sumarizacion) Avg y para UnitsInStock Sum. 

Page 7: Comenzando Con Crystal Reports y Visual Basic

 5. Finalmente Seleccionemos Finalizar. El asistente construira el informe y lo mostrara en vista de diseño.  En este paso podemos hacer modificaciones al diseño del informe (en este articulo no detallaremos en este aspecto).

Page 8: Comenzando Con Crystal Reports y Visual Basic

Crear La Forma Contenedora

Adicionamos una forma al proyecto y la modificamos para que contenga el informe.  Para poder visualizar el informe debemos adiconar el control ReportViewer a la forma y lo preparamos para que cubra todo el tamaño de la forma utilizando la propiedad Dock del Control en Fill.

Page 9: Comenzando Con Crystal Reports y Visual Basic

Crear el Procedimiento para poblar el Reporte.

El procemiento siguiente (PoblarReporte) realizará la conexión a la base de datos Utizando el Objeto sqlConnection llamado sqlConn, la cadena de conexión, la creamos en la variable strConn, esta cadena de conexion se conecta al servidor local a la base de datos Northwind usuando seguridad integrada. Como vamos a utilizar el dataset tipado creado anteriormente entoces creamos dos sqlDataAdapter y en cada uno de ellos cargados todos los datos de las tablas por medio de las instrucciones definidas en las cadenas strCommCate y strCommProc. Luego Poblamos el dataset por medio de la instruccion Fill del dataAdapter. (Los Nombres de las tablas tiene que ser iguales a los nombres definidos en el dataset tipado y primero debemos poblar categores y luego products para no infringir las reglas de integridad).

Luego creamos un objeto info del tipo del informe creado anteriormente (crProductByCategory), definimos el origen de datos, que es el objeto dsPc que poblamos usando los dataAdapters. Luego definimos la propiedad ReporSource del objeto crvwProductsbyCategory como el objeto info definido anterirmente

El procedimiento lo podemos llamar desde el constructor de la forma (Sub New) despues del procedimiento inicializador de componentes y listo.

Private Sub PoblarReporte()

Dim sqlConn As SqlConnection Dim sqlDaProd As SqlDataAdapter Dim sqlDaCate As SqlDataAdapter

Page 10: Comenzando Con Crystal Reports y Visual Basic

Dim dsPc As New dsProductByCategories Dim strConn As String = "Server=localhost;Initial Catalog=Northwind;" _ "Integrated Security = SSPI" Dim StrCommCate As String = "Select * From Categories" Dim strCommProd As String = "Select * From Products"

Try 'Crear los DataAdapters sqlConn = New SqlConnection(strConn) sqlDaCate = New SqlDataAdapter(StrCommCate, sqlConn) sqlDaProd = New SqlDataAdapter(strCommProd, sqlConn)

'Poblar las tablas del dataset desde los dataAdaperts sqlDaCate.Fill(dsPc, "Categories") sqlDaProd.Fill(dsPc, "Products") 'Poblar el informe con el dataSet y mostrarlo Dim info As New crProductByCategory info.SetDataSource(dsPc) crvwProductsbyCategory.ReportSource = info Catch ex As Exception MessageBox.Show(ex.ToString) End Try End SubAsi se veria el reporte.

Page 11: Comenzando Con Crystal Reports y Visual Basic

 Conclusión

Combinando las diferentes herramientas que nos provee Visual Studio .NET podemos facil y rapidamente soluciones de datos, El objeto dataAdapter nos permite facilmente trabajar desconectado de la base de datos, Los dataset nos proveen un metodo facil para manipular los datos e integrarlos diversos controles y que decir de la plantilla de crystal reporta, facil de usuar y muy util.