Conectar Crystal Reports Con MySQL Server 5

32
Conectar Crystal Reports con MySQL Server 5.1 en VB.NET abril 26 201014 comentarios Guardado en : Microsoft , Programación Share Una de las formas más comunes de conectar que eh encontrado acerca de como conectar Crystal Reports con MySQL en VB.NET, es a través de conexiones ODBC. Open DataBase Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS A continuación explico un poco cómo hacer esta conexión. Nota: Para este tutorial se están utilizando el sistema operativo Microsoft Windows 7, Microsoft Visual Studio 2005 y MySQL Server 5.1, lo cual puede cambiar la apariencia de las ventanas con respecto a versiones anteriores. Instalar el controlador ODBC Para realizar la conexión necesitamos el conector ODBC de MySQL el cual podemos bajarnos de la siguiente dirección http://dev.mysql.com/downloads/connector/odbc/5.1.html Crear la conexión ODBC en Windows Una vez instalado el conector ODBC de MySQL realizamos lo siguiente. Paso 1:

Transcript of Conectar Crystal Reports Con MySQL Server 5

Page 1: Conectar Crystal Reports Con MySQL Server 5

Conectar Crystal Reports con MySQL Server 5.1 en VB.NET

abril 26 201014 comentarios

Guardado en : Microsoft, Programación

Share  

Una de las formas más comunes de conectar que eh encontrado acerca de como conectar Crystal Reports con MySQL en VB.NET, es a través de conexiones ODBC.

Open DataBase Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS

A continuación explico un poco cómo hacer esta conexión.

Nota: Para este tutorial se están utilizando el sistema operativo Microsoft Windows 7, Microsoft Visual Studio 2005 y MySQL Server 5.1, lo cual puede cambiar la apariencia de las ventanas con respecto a versiones anteriores.

Instalar el controlador ODBC

Para realizar la conexión necesitamos el conector ODBC de MySQL el cual podemos bajarnos de la siguiente dirección http://dev.mysql.com/downloads/connector/odbc/5.1.html

Crear la conexión ODBC en Windows

Una vez instalado el conector ODBC de MySQL realizamos lo siguiente.

Paso 1:

Nos dirigimos al panel de control de Windows (Inicio/ Panel de control) y seleccionamos la opción de Sistema y seguridad.

Page 2: Conectar Crystal Reports Con MySQL Server 5

Paso 2:

Seleccionamos la opción de Herramientas administrativas.

Page 3: Conectar Crystal Reports Con MySQL Server 5

Paso 3:

Seleccionamos la opción Orígenes de datos ODBC.

Page 4: Conectar Crystal Reports Con MySQL Server 5

Paso 4:

Nos muestra una ventana donde podemos elegir qué tipo de conexión queremos, para nuestro caso seleccionaremos DNS de sistema y damos clic en Agregar.

Page 5: Conectar Crystal Reports Con MySQL Server 5

Paso 5:

Nos pide el tipo de origen de datos, seleccionamos MySQL ODBC 5.1 Driver y damos clic en Finalizar.

Page 6: Conectar Crystal Reports Con MySQL Server 5

Paso 6:

Configuramos los parámetros de nuestra conexión, como son:

Nombre, descripción, servidor, puerto, usuario, contraseña y base de datos.

Page 7: Conectar Crystal Reports Con MySQL Server 5

Paso 7:

Una vez configurada la conexión nos aparece de nuevo en la ventana de conexiones de ODBC, la seleccionamos y damos clic en aceptar para crear por completo la conexión.

Page 8: Conectar Crystal Reports Con MySQL Server 5

Configurar la conexión con Crystal Report en VB.NET

Paso 1:

Añadimos a nuestro formulario el elemento CrystalReporViewer ubicado en cuadro de herramientas en la sección de Crystal Reports.

Page 9: Conectar Crystal Reports Con MySQL Server 5

Paso 2:

Ya insertado en el formulario, daremos clic en la pestaña de la parte superior derecha del mismo componente, se nos despliega una pestaña y damos clic en Crear un nuevo informe de Crystal Reports.

Paso 3:

Page 10: Conectar Crystal Reports Con MySQL Server 5

Nos pide el nombre que le daremos a nuestro reporte dentro de nuestro proyecto.

Paso 4:

Después de establecer el nombre al reporte, se nos abre una ventana donde podremos elegir el tipo de documento que deseamos crear, para este caso seleccionamos la opción Usar el asistente de informes y el tipo Estándar.

Paso 5:

Page 11: Conectar Crystal Reports Con MySQL Server 5

Seguido se nos muestra una ventana donde seleccionaremos que tipo de conexión estableceremos, como se menciono es de tipo ODBC, así que daremos un clic en el símbolo de + que tiene el tipo ODBC (RDO).

Paso 6:

Nos muestra los orígenes de datos de tipo ODBC que tiene Windows, como vemos aparece la que creamos previamente, la seleccionamos y damos clic en siguiente.

Page 12: Conectar Crystal Reports Con MySQL Server 5

Paso 7:

Nos pide el nombre usuario y contraseña de nuestro MySQL, llenamos los campos y damos clic en Finalizar.

Page 13: Conectar Crystal Reports Con MySQL Server 5

Paso 8:

Regresamos a la pantalla de inicio donde se nos muestran las tablas que tiene nuestra base de datos, la seleccionamos y damos clic en el botón de > para indicarle cual es la tabla que deseamos usar y damos clic en finalizar.

Page 14: Conectar Crystal Reports Con MySQL Server 5

Una vez configurada nuestra conexión, en el Explorador de campos se nos muestra las tablas agregadas así como sus campos.

Lo único que resta es arrastras los campos a nuestro reporte según será nuestra conveniencia.

Page 15: Conectar Crystal Reports Con MySQL Server 5

Y listo! Solo nos queda ejecutar nuestra aplicación.

El reporte lo podemos diseñar con imágenes, líneas, graficas, etc… Eso depende del tipo de reporte o del gusto del usuario.

Page 16: Conectar Crystal Reports Con MySQL Server 5

Crear una libreria (DLL) en VB.NET

abril 12 20109 comentarios

Guardado en : General, Microsoft, Programación

Share 4

Crear una Librería .dll

La creación de una librería .dll en VB.NET es relativamente fácil, para ello lo haremos como se muestra a continuación.

Para este caso se está utilizando Visual Studio 2005..

Lo primero que debemos hacer es abrir el Visual Studio y crear un nuevo proyecto (Archivo/Nuevo/Proyecto…).

Seguido de esto se nos muestra un cuadro de dialogo donde nos pide el tipo, plantilla, nombre y ubiación del proyecto:

Tipo de proyecto: Windows.

Plantilla: Biblioteca de controles de Windows.

Nombre: Nombre de la aplicación.

Ubicación: Ruta donde guardaremos nuestro proyecto.

Page 17: Conectar Crystal Reports Con MySQL Server 5

Una vez creado el proyecto, éste nos crea una clase por default llamada UserControl1 la cual le cambiaremos el nombre, para nuestro caso la llamaremos ClasePrueba.

Abrimos el Explorador de soluciones (Ver/Explorador de Soluciones), damos clic derecho sobre la clase UserControl1 y seleccionamos Cambiar nombre.

Page 18: Conectar Crystal Reports Con MySQL Server 5

Establecemos el nuevo nombre..

Ahora accedemos al codigo de la clase (clic derecho Ver código).

Page 19: Conectar Crystal Reports Con MySQL Server 5

Lo que esta clase se encargará de hacer, es imprimir un mensaje en pantalla, algo así como “MessageBox.Show”. Para ello dentro de la clase, crearemos un método llamado “mensaje” el cual recibirá como parámetro un cadena de tipo de String que será la que imprimir’a el programa.

Con las etiquetas <summary> establecemos una descripción para el método, y con <param name=”"> establecemos una descripción para el parámetro de nuestro método.

Ya escrito nuestro código, lo que harémos es volver a generar nuestro proyecto.

Clic derecho sobre nuestra clase y seleccionamos Volver a generar.

Page 20: Conectar Crystal Reports Con MySQL Server 5

Listo!, dentro de la carpeta de nuestro proyecto, en la ruta /bin/Debug, se habrá creado un archivo .dll con el nombre de nuestra aplicación, para nuestro ejemplo se llama LibreriaDLL.dll, la cual es portable.

Usando la librería

Si queremos utilizar nuestra librería en algún otro proyecto de VB.NET, lo único que debemos hacer es lo siguiente.

Primero necesitamos agregar como referencia la librería a nuestro proyecto, para ello realizamos lo siguente.

Clic derecho a nuestro proyecto y seleccionamos Agregar referencia…

Page 21: Conectar Crystal Reports Con MySQL Server 5

Seguido de esto se nos muestra un cuadro de dialogo donde buscaremos nuestra librería. Nos ubicamos en la pestaña Examinar y buscamos nuestra librería en el lugar que la tengamos guardada.

Page 22: Conectar Crystal Reports Con MySQL Server 5

Ya agregada la referencia, nos dirijimos al código donde utilizaremos nuestra librería (en este caso utilizaré un formulario de prueba) e importaremos el name space de nuestra libreria con el siguiente comando.

Imports LibreriaDLL

Solo nos resta crear un objeto de tipo ClassPrueba que se encuenta en la libreria y mandar a llamar a nuestro metodo.

Creamos el objeto de tipo ClassPrueba

Page 23: Conectar Crystal Reports Con MySQL Server 5

Invocamos nuestro metodo de la clase ClassPrueba.

Pasamos como parámetro el mensaje a mostrar.

Page 24: Conectar Crystal Reports Con MySQL Server 5

Ejecutamos nuestra aplicación.

Listo!!, nos muestra nuestro mensaje en pantalla.

Podemos crear librerías a nuestro antojo, muchas veces esto nos ayuda a facilitarnos la vida como programadores.

Espero sea de grán ayuda, no duden en comentar.

Saludos!!

Page 25: Conectar Crystal Reports Con MySQL Server 5

338 - Hacer lista desplegable en combo usando un ListView

Ejemplo para hacer que un combo permita desplegar un control Listview en forma de reporte

Este ejemplo puede ser útil si se quiere ver un listado de datos en forma de reporte y con varias columnas, y que la misma no ocupe espacio

Si bien el ejemplo se puede depurar y agregar funcionalidades, sirve para sacar una idea

El combobox, al hacer clic en el botón de la lista desplegable, ejecuta el evento DropDown para mostrar el control Listview, posicionándolo en la posición de la lista desplegable

Vista del formulario

El ejemplo usa un módulo de clase. Este módulo tiene un método y tres propiedades:

Método Init : este método es el que inicia , y se debe pasar como parámetro los dos controles, es decir el control combobox a usar y el control Listview , por ejemplo

Call Obj.Init (UnListview, UnCombo)

Propiedad AutoSizeColumnHeaders : Esta propiedad tiene tres valores y es para auto ajustar los encabezados de columna: Si se pasa el valor " AJUSTAR_POR_COLUMNA ", se ajusta el Column por el caption del encabezado. Si se pasa el valor " AJUSTAR_POR_ITEM " la columna se autoajusta de acuerdo al elemento mas largo de la columna . El valor NO_AJUSTAR, no hace nada y lo deja como está, es decir sin ajustar

Propiedades WidthLista y HeightLista , se usan para establecer el alto y el ancho de la lista desplegable, es decir del ListView. Si no se especifican estos valores, por defecto se utiliza como ancho, el ancho que tenga el combobox, y como alto el valor 250.

Page 26: Conectar Crystal Reports Con MySQL Server 5

Nota: Ambos valores son en Pixels

Controles para el ejemplo

Añadir al proyecto un módulo de clase llamado Class1

En el formulario agregar un Listview y un Combo. Al combo colocarle la propiedad Style en DropDown List - 2

________________________________________

Primero se lista el código del form, luego el código fuente del Class1

Código en Form1

________________________________________

Código fuente en el módulo de clase Class1

Este articulo describe un metodo que permite dar una mascara a un textbox para que tenga la apariencia Numerica, Utilizando el simbolo de separacion de miles establecido en la configuracion regional del Pc. Para el ejemplo vamos a usar los siguientes espacios de nombres y crearemos un proyecto como aparece en la imagen.

Page 27: Conectar Crystal Reports Con MySQL Server 5

 

El siguiente metodo recibe por refrerencia un object que en este caso sera nuestro TextBox1 y por valor un caracter en las linea 14 recibimos el formato numerico del Pc . 16 - validamos que lo digitado sea un digito y no otro caracter. 17-18 agregamos el caracter entrante y eliminamos todos los separadores del texto

 

Page 28: Conectar Crystal Reports Con MySQL Server 5

convertimos a entero el nuevo numero y luego le damos el formato que definimos inicialmente. Luego validamos el caracter de bakcspace para poder borrar y reposicionar los puntos Por ultimo en el evento keyPress del TextBox1 introducimos el siguiente Código y listo le damos Run....

 

Page 29: Conectar Crystal Reports Con MySQL Server 5

aquí les dejo el code completo para que le hagan Ctrl+c Ctrl+v y lo puedan probar mejor.....

 

Imports System

Imports System.Globalization

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.MaxLength = 14

End Sub

Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress e.Handled = Validar_Moneda(TextBox1, e.KeyChar) End Sub

Public Shared Function Validar_Moneda(ByRef cadena As Object, ByVal key_char As Object) As Boolean

Page 30: Conectar Crystal Reports Con MySQL Server 5

Dim nfi As NumberFormatInfo = CultureInfo.CurrentCulture.NumberFormat Dim entero As Int64 If IsNumeric(key_char) And cadena.Text.ToString.Length <= cadena.MaxLength Then cadena.AppendText(key_char) Dim num As String = cadena.Text.ToString().Replace(nfi.CurrencyGroupSeparator, "") entero = Convert.ToInt64(num) num = entero.ToString("N", nfi) num = num.Substring(0, num.Length - nfi.CurrencyDecimalDigits - 1) cadena.Text = "" cadena.AppendText(num) ElseIf CShort(Asc(key_char)) = 8 Then Dim num As String = cadena.Text.ToString().Replace(nfi.CurrencyGroupSeparator, "") If num <> "" Then num = num.Substring(0, num.Length - 1) If num <> "" Then entero = Convert.ToInt64(num) num = entero.ToString("N", nfi) num = num.Substring(0, num.Length - nfi.CurrencyDecimalDigits - 1) End If End If cadena.Text = "" cadena.AppendText(num) End If Return True End FunctionEnd Class