Poblar un Crystal Report en Visual Studio 2008

Población de un Crystal Report

Crear una aplicación es tan fácil y tan sencillo, que se nos olvida por completo que no solo es de aprender a manipular y modificar datos. Es por eso que me tome un poquitín de mi tiempo para realizar este pequeño tutorial, el cual tiene como objetivo poblar un Crystal Report.

Lo primero que tenemos que hacer es crear un DataSet con las siguientes tablas...
Nota: "No voy a dar tanto rodeo para explicar como crear un DataSet y todo esto"



Ya que se tenga el DataSet con los datos y la relación… seguirá lo siguiente.
Crear un Reporte de CrystalReport, lo pueden hacer desde un asistente o manualmente (Del mismo modo no voy a dar tantos rodeos en esto).















Ya que agregaron el CrystalReport y lo poblaron con los datos que deseen, se tiene que crear un nuevo formulario, en el cual se agregara un CrystalView para que en este se pueda agregar la hoja de reporte o reportes.














Ya que se tiene el CrystalView en el panel de Propiedades hay una propiedad llamada “ReportSource” el cual enlaza la hoja de reporte antes diseñada al CrystalView.
Pero no todo termina en esto… si lo ejecutan no funcionara… ¿porque?... realmente cuando se diseña el Reporte solo agregamos los campos que serán rellenados posteriormente, ahora viene esta parte, la que todos les gusta. “Codificación
Nota: Agrega este codigo en el formulario en donde se encuentre el CrystalView, esto se realizara en el evento del Load, lo que hara es que recopilara los datos que se deseen y los mostrara en el CrystalView.


Private Sub Crystal_Report_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Primero Creamos los objetos que vamos a utilizar para poblar un DataGridView
' El GridView que esta en el formulario se llama "Datos"
' Error "The value's length for key 'data source' exceeds it's limit of '128'"

' Creamos los componenetes para obtener los datos.
Dim CadenaConexion As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename='" _
& My.Application.Info.DirectoryPath & "\BaseDatos.mdf';Integrated Security=True;User Instance=True")
Dim DatosDS As New BaseDatosDataSet
Dim DatosDAC As New SqlDataAdapter("SELECT * FROM TB_CLIENTE", CadenaConexion)
Dim DatosDAP As New SqlDataAdapter("SELECT * FROM TB_PEDIDO", CadenaConexion)


' Utilizamos un TryCatch para capturar un error y asi no pueda afectar a la Base de datos
Try
' Abrimos la conexion y poblamos el DataSet y posteriormente cerramos la conexion
' -NOTA- : Recuedo que estoy usando Adaptadores para realizar consultas a la base de datos
' de forma desconectada, para no consumir recursos.

CadenaConexion.Open()
DatosDAC.Fill(DatosDS.TB_Cliente)
DatosDAP.Fill(DatosDS.TB_Pedido)
CadenaConexion.Close()

' Cargamos los datos recolectados en un Crystal Report y lo cargamos al CrystalView
Dim miReporte As New RepClientes
miReporte.SetDataSource(DatosDS)
Me.CrystalReportViewer1.ReportSource = miReporte

' Liberamos memoria
DatosDS.Dispose()
DatosDAC.Dispose()
DatosDAP.Dispose()

Catch ex As Exception
MsgBox("Mensaje : " & ex.Message)
End Try
End Sub

Ya que se tiene hecho todo lo anterior solo falta ver el resultado.











Y por ultimo si quiere filtrar los datos solo es de cambiar las sentencias SQL en los DataAdapter

Dim DatosDAC As New SqlDataAdapter("SELECT * FROM TB_CLIENTE WHERE CLIENTEID = 2", CadenaConexion)
Dim DatosDAP As New SqlDataAdapter("SELECT * FROM TB_PEDIDO WHERE FECHA = '13/02/2008'", CadenaConexion)

y el resultado sera el siguiente:


























Lo Nuevo Para el 2008.

Bueno, para las personas que les guste lo nuevo…
Microsoft ® pone a la disposición el nuevo paquete de herramientas para los desarrolladores, Visual Studio 2008. Pero qué diferencia hay con el VS2005… pues la verdad no mucha, apenas tiene como 250 características nuevas… jajaja, es una broma, está mucho mejor que antes… ahora el Framework 2.0, 3.0 o 3.5 contiene una infinidad de componentes que le serán muy útiles a la hora de realizar pequeñas y hasta grandes aplicaciones Windows o Webs.

· Desarrollo de Clientes Inteligentes
· Creación de Aplicaciones para Office
· Creación de Aplicaciones para Windows Vista
· Mayor Productividad en el Manejo de Datos
· Habilitar la Creación de Nuevas Experiencias Web
· Mejor Experiencia del Desarrollador
· Mejorar la Administración del Ciclo de Vida de la Aplicación

Entre otras palabras, mejoras en ADO.NET, ASP.NET, SQL Server, Framework 3.5, integraciones de AJAX 3.5, LINQ, WPF, XAML, WCF, WWF, utilidades para Office 2007 y muchas cosas más.
Espero que durante la vida de este blog pueda ir viendo algunos ejemplos de lo anterior para que puedan también ustedes empezar a adentrarse en este mundo infinito de posibilidades.

También colocare links hacia otros recursos ú otros sitios dedicados a contribuir con la comunidad de desarrolladores .NET.


Mencionare algunas cosillas que incluye Visual Studio 2008, no vamos a hablar tanto ni nada por el estilo, si estas muy interesado en esto, participa también e inicia a realizar pruebas con la nueva gran herramienta que brinda Microsoft.
Para empezar, vamos a pensar en las personas que están con VS 2005. Ya no se preocupen VS 2008 tiene generación multiplataforma, con VS 2008 podremos crear proyectos en Framework 2.0, 3.0 y 3.5. Ya no nos preocupemos sobre que plataforma debemos desarrollar, ahora simplemente programemos.


Pero como VS 2008 es poder, también ASP.NET incluye mejoras, ahora para los diseñadores de páginas web y que programaban sus sitios con JavaScript, ya no tienen que frustrarse más, ahora ya viene incluido ASP.NET AJAX de serie, mejorando sus sitios web y brindando un mejor canal de comunicación, y si estas interesado en ASP.NET AJAX 3.5 y sus controles, visita esta página en donde encontraras el paquete de AJAX 3.5 (
http://www.asp.net/ajax/).

Ahora que ¿?... ha sí !!! no crean que son pocos los beneficios, son muchos y ahora para los programadores que ofrecen soporte y personalización para Office 2007, así como las plantillas de Office 2003. Y para el desarrollado en dispositivos móviles, hay decenas de nuevas características, como el soporte para las versiones de Framework Compact de LINQ y WPF, o, a nivel de IDE, Unit Testing for Devices.
Ahora que recuerdo también, también vienen incorporadas nuevas plantillas para Windows Communication Foundation y Windows Workflow Foundation, y se han introducido mejoras como el modelo de programación HTTP (Sin SOAP) o socialización JSON (JavaScrip Object Notation, formato ligero para intercambio de datos), todo esto para el desarrollo en servidor.
Y para terminar con algunas de las mejoras que incorpora el Visual Studio 2008, es hablar sobre LINQ y SQL Server 2008… Pero que de bueno es esto ¿?, mmm… pues…

Empecemos con LINQ. Se trata de una de las grandes revoluciones que nos aportará este nuevo conjunto de herramientas. Language INtegrated Query es un nuevo método de acceso a datos totalmente integrado en nuestro lenguaje habitual y de una forma muy independiente de la fuente de donde provengan (colecciones, XML, motores de bases de datos, etc.).
Como es esto, es más fácil ¿? , y que pasara con SQL ¿? … todo va bien… no hay que preocuparse, para los Administradores de base de datos y aquellos fanáticos a SQL no tendrán inconvenientes a la hora de agregar una consulta de LINQ, se manejara casi la misma Sintaxis de SQL haciendo familiar y fácil de comprender. Y lo mejor es que ahora puede recuperar datos o manipulado en tan solo una línea de código. Ha !!! Que fácil… o no?.

Y ahora con SQL Server 2008, que puedo decir de SQL Server 2008, si solo con ver que tiene mejor as en varias áreas, como por ejemplo, tipos de datos, documentos, T-SQL y lo más importante Seguridad… Desglose de de Date y Time y el nuevo DateTimeOffSet, para manejo de DateTime con zona horaria. DateTime2 con mayor precisión, HierarchyID que representa una posición en un árbol, es utilizado para representar jerarquías entre datos dentro de la base de datos. Incorporación de nuevos datos como el Geography y Geometric y la ventaja de que estos pueden ser integrados a Virtual Earth. FileStream almacenamiento de Blob’s (Videos, fotos, música, etc.) dícese de sus siglas en ingles Binary Large OBjects, grandes objetos binarios, varbinary(MAX) esto requiere NTFS.

Mejoras en Transact SQL, Grouping Set multiples agrupamientos dentro de una misma consulta, declaraciones de variables, operadores como +=, -=, *=, /= y unas cuantas mejoras para este gran potente motor de base de datos.

Ver mucho texto cansa… así que hasta aquí con esta pequeña introducción a Visual Studio 2008. Ahora lo que queda es que tú descubras lo nuevo, instala Visual Studio y adéntrate en sus mejoras y vuélvete un gran programador.

En mi blog estare agregando link's o videos + pequeños ejemplos de lo nuevo que hay en Visual Studio 2008.

Inicio del Blog!!!






Bueno !!!

Es hora de empezar a contribuir a los desarrolladores de Cobán A.V.
Quien soy yo ¿?

Soy un medio joven que estudio Ing. En Sistemas y que le gusta el desarrollo de software o aplicaciones web, como si fuera deporte… empiezo este blog para que estudiantes de todo grado realicen sus preguntas sobre temas de programación .NET, especialmente en Visual Basic… porque¿?, porque el consejo que les puedo dar, es que nadie es bueno en una rama de la programación, así que lo que yo busco es una especialización en VB.NET y lo que es Java, C++, C# o cualquier otro lenguaje, si es necesario lo utilizare. Así que especialícense en una rama y a estudiar fuertemente.