• Domingo 28 de Abril de 2024, 20:09

Autor Tema:  Como usar crystal reports!  (Leído 1943 veces)

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Como usar crystal reports!
« en: Martes 18 de Agosto de 2009, 03:45 »
0
Hola que tal companeros!!

Estoy atorado por no saber como hacer reportes en crystal report + mysql, alguien podria guiarme o darme un enlace para guiarme, ya le movi pero no me sale.
Y otra pregunta digamos que se haga el reporte como puedo ver este al correr mi programa...??

gracias por su tiempo y atencion
atte:fORU-

elultimoguerrero

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Como usar crystal reports!
« Respuesta #1 en: Domingo 13 de Septiembre de 2009, 23:29 »
0
Hola foru, mira, lo primero que tienes que hacer es declarar un módulo como una variable global, es decir, agrega un módulo y ponle el nombre que gustes, por ejemplo globales.vb ya que serán variables que te servirán para todos los proyectos de reportes, ¿ok?, después de eso da doble clic a ese módulo y escribe el siguiente código:

Imports CrystalDecisions.CrystalReports.Engine.ReportDocument
Module Globales
    Public rep As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
End Module

A continuación vamos a agregar un formulario nuevo en nuestro proyecto, te suguiero que le pongas de nombre reportes.vb para que lo tengas identificado ó el que gustes, dentro de este formulario ve al cuadro de herramientas y arrastra la herramienta de CrystalReportViewer1 y agrega el siguiente código:

Public Class reportes
    Inherits System.Windows.Forms.Form

    Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrystalReportViewer1.Load
        CrystalReportViewer1.ReportSource = rep
    End Sub
End Class
 
Ahora lo que tenemos que hacer es agregar un dataset, el cual va a contener los datos que tengas en tus bases de datos, vamos a manejar el siguiente ejemplo, supongamos que tenemos una tabla llamada clientes vamos a agregar a nuestro proyecto un formulario Conjunto de datos al cual le pondremos de nombre dsclientes.xsd, cuando nos abra ese formulario, del cuadro de herramientas vamos a seleccionar la opción Data Table y la arrastramos en el formulario, damos un clic en el encabezado y de título le vamos a poner el nombre de la tabla que vamos a agregar, por ejemplo clientes, damos clic derecho y agragamos el número de campos que tienes nuestra tabla, por ejemplo, nombre, direccion telefono, tal cual los tenemos en la tabla de clientes, en el campo que sea la clave principaldamos clic derecho y agregamos la clave principal, damos clic a lo que te diga, ahora de nuesto lado derecho tenemos que configurar el tipo de dato dentro de cada uno de esos campos, es decir, si son string, double, int32, char, etc, eso depende de tos campos, así como si son valores nulos, etc.

Ok, después de hacer todo esto, vamos a agregar un Crystal Reports al cual vamos a llamar crclientes.rpt, en la parte izquierda superior de ese formulario, vamos a ver campos de bases de datos, damos clic derecho y asistente de bases de datos, abrimos la carpeta datos del proyecto, abrimos la carpeta ADO.NET DataSets, seleccionamos el dataset que necesitamos en tal caso y lo agregamos a las tablas seleccionadas, ahora en la parte superior izquierda en campos de bases de datos ya nos aparece el nombre de nuestro dataset abrimos el campo del signo de más y arrastramos los campos dentro de la sección 3 detalles, ta apareceran dos campos iguales uno con el identificador encabezado de campo y el otro contendrá el valor de la tabla de clientes, tu los ordenarás y le darás el formato que gustes y los acomodarás en la sección que gustes, ese será tu estilo.

Bueno, en nuestro formulario de clientes debemos de tener un botón de imprimir, en el damos doble clic y agregamos el siguiente código:

Private Sub limprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles limprimir.Click
        rep = New crclientes
        rep.SetDataSource(ds.Tables("clientes"))
        Dim freportes As New reportes
        freportes.Show()
End Sub

Si tu formulario principal es un MdiContainers deja el código del botón de imprimir tal cual te lo puse, si no es MdiContainers elimina las últimas dos líneas de código, espero sea de utilidad este pequeño tutorial, de cualquier forma sigue escribiendo tus dudas, yo checaré este sunto más adelante, gracias.