• Lunes 6 de Mayo de 2024, 18:17

Autor Tema:  Subinformes  (Leído 1446 veces)

aldv152027

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Subinformes
« en: Martes 20 de Junio de 2006, 20:09 »
0

Por favor si alguien tiene algun ejemplo de como establecer la conexión de los procedimientos a un subinforme.
Tengo 2 procedimientos almacenados en SQL spa y spb
Cuando me conecto y comunico el spa al informe principal enviando los paramentros si procede.
Cuando intento conectar el spb y comunicar al subinforme no tengo idea como enviarle los parametros.
Adjunto la codificación que he realizado.
      Dim Sql_Cxn As New SqlConnection(gStr_Conexion)
        Dim Sql_Adp As New SqlDataAdapter("bnsp_rpt00_RendicionDetalle " & gInt_aaaa_Cuenta & "," & gInt_Nro_Cuenta, Sql_Cxn)
        Dim Sql_Adp1 As New SqlDataAdapter("bnsp_rpt01_RendicionResumen " & gInt_aaaa_Cuenta & "," & gInt_Nro_Cuenta, Sql_Cxn)
        Sql_Adp.SelectCommand.CommandType = CommandType.StoredProcedure
        Sql_Adp1.SelectCommand.CommandType = CommandType.StoredProcedure

        Dim pvCollection As New CrystalDecisions.Shared.ParameterValues
        Dim pdvCustomerName As New CrystalDecisions.Shared.ParameterDiscreteValue

        Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table

        Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo

        Dim oRpt_Liquidacion_Gasto As New ReportDocument

        Dim lstr_ruta As String

        Try
            ' Load the report

            lstr_ruta = Application.StartupPath & "\CRpt_LiquidacionGastos.rpt"
            oRpt_Liquidacion_Gasto.Load(lstr_ruta)

            ' Set the discreet value to the customers name.
            pdvCustomerName.Value = gInt_aaaa_Cuenta
            pvCollection.Add(pdvCustomerName)
            oRpt_Liquidacion_Gasto.DataDefinition.ParameterFields("@li_aaaa_cuenta").ApplyCurrentValues(pvCollection)

            ' Clear for next parameter
            pvCollection.Clear()
            ' Add it to the parameter collection.
            pvCollection.Add(pdvCustomerName)
            pdvCustomerName.Value = gInt_Nro_Cuenta
            oRpt_Liquidacion_Gasto.DataDefinition.ParameterFields("@li_nro_cuenta").ApplyCurrentValues(pvCollection)

            ' Booleano. Obtiene o establece si la vista del árbol se ve o está oculta.
            CRptV_Liquidacion_Rendicion_Cuenta.DisplayGroupTree = False

            ' Set the report source for the crystal reports viewer to the
            ' report instance.
            CRptV_Liquidacion_Rendicion_Cuenta.ReportSource = oRpt_Liquidacion_Gasto

            ' Zoom viewer to fit to the whole page so the user can see the report
            CRptV_Liquidacion_Rendicion_Cuenta.Zoom(2)

            '' El SubInforme
            'Dim subreportName As String
            'Dim subreportObject As SubreportObject
            'Dim subreport As New ReportDocument
            'Dim oSubRpt_Resumen_Liquidacion As New ReportDocument

            ''If TypeOf (oRpt_Liquidacion_Gasto.ReportDefinition.ReportObjects.Item(reportObjectName)) Is SubreportObject Then
            ''subreportObject = oRpt_Liquidacion_Gasto.ReportDefinition.ReportObjects.Item(reportObjectName)
            '' Obtener el nombre de subinforme.
            ''subreportName = subreportObject.SubreportName
            '' Abrir el subinforme como ReportDocument.
            'oSubRpt_Resumen_Liquidacion = oRpt_Liquidacion_Gasto.OpenSubreport("SubInf_ResumenRendicion")
            '' Obtener una vista previa del subinforme.
            'CRptV_Liquidacion_Rendicion_Cuenta.ReportSource = oSubRpt_Resumen_Liquidacion
            ''End If

        Catch Ex As LoadSaveReportException
            MsgBox("Ruta de acceso Incorrecta", _
                    MsgBoxStyle.Critical, "Error al Cargar el Reporte")

        Catch Exp As Exception
            MsgBox(Exp.Message, MsgBoxStyle.Critical, "General Error")

        End Try