none
Crytal Reports RRS feed

  • Pregunta

  • Buenas!

    Resulta que tengo mucho reportes, pero para cada uno hay q crear un solo form donde estos se ejecuten? ó bien hay q crear muchos form (1 para cada reporte)?, con el siguiente código yo puedo ejecutar solo 1 reporte en mi form, si se pueden ejecutar varios me ayuden con el código.

    Dim RptDept As New CR_Departamento()
            Me.CrystalReportViewer1.ReportSource = RptDept
    Gracias!
    • Cambiado Enrique M. Montejo domingo, 4 de diciembre de 2011 10:45 Consulta sobre Crystal Reports (De:Lenguaje VB.NET)
    viernes, 2 de diciembre de 2011 14:12

Todas las respuestas

  • Buenas bacaga.

    Efectivamente creándote un único Form con un control CrystalReportViewer te bastaría.

    Podrías crearte un constructor en tu formulario de la siguiente manera:

    Public Sub New(ByVal pTipoReporte As String)
         Try
              ' Llamada necesaria para el Diseñador de Windows Forms.
              InitializeComponent()
    
              ' Agregue cualquier inicialización después de la llamada a
    InitializeComponent().
              Select Case pTipoReporte
                   Case "Reporte01"
                        Me.CrystalReportViewer1.ReportSource = Rpt01
                   Case "Reporte01"
                        Me.CrystalReportViewer1.ReportSource = Rpt02
                   End Select
    
         Catch ex As Exception
              MessageBox.Show("Excepción controlada: " & ex.Message)
         End Try
    End Sub
    

    Así dependiendo del parámetro que pases en el constructor asignarás el ReportSource al reporte que le corresponda.

    Deberás añadir también la lógica de la consulta que corresponda en cada una también en cada Case.

    Un saludo.


    Antonio López Atienza
    Microsoft Community Contributor
    .NET Developer
    Code examples
    http://www.lopezatienza.es
    viernes, 2 de diciembre de 2011 19:41
  • Gracias Antonio, soy bastante nuevo en este campo, me podrias ayudar un poco más? estos son mis reportes:        

    Dim RptDept As New CR_Departamento()

            Dim RptCataSisteOp As New CR_CatalogoSistemOp()
            Dim RptCateHard As New CR_CategoriaHardware()
            Dim RptConTrab As New CR_ControlTrabajo()
            Dim RptDocume As New CR_Documento()
            Dim RptEmp As New CR_Empleado()
    Gracias!
    viernes, 2 de diciembre de 2011 22:01