Professional Documents
Culture Documents
Introduccin
Este artculo 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.
utilizar es Explorador de servidores, primero debes crear una conexin a la base de datos utilzando la opcion Agregar Conexin, en las conexiones de datos. 2. Desde la conexin a la base de datos Northwind seleccione la tabla Products y arrastrala hasta el diseador 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).
(creado anteriormente) y las tablas de este dataset Seleccionemos las dos tablas e Insertemosla en las tablas del reporte (como muestra la figura).
4. En al ficha campos (Fields) adiciones los campos de las dos tablas que incluiresmos en el informe (Como muesta la figura siguiente)
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.
5. Finalmente Seleccionemos Finalizar. El asistente construira el informe y lo mostrara en vista de diseo. En este paso podemos hacer modificaciones al diseo del informe (en este articulo no detallaremos en este aspecto).
Dim sqlDaCate As SqlDataAdapter 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 Sub Asi se veria el reporte.
Conclusin
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.