Crystal Report - Parametros para el Subinforme

 
Vista:

Parametros para el Subinforme

Publicado por javi (1 intervención) el 04/11/2005 09:03:57
Hola a todos, me gustaria que me ayudarais en un problemilla que tengo, estoy trabajando con un informe en crystal y lo lanzo con asp.net y necesito pasarle parametros a los subinformes que tengo en el, como lo hago?¿?¿ está esto pero no se como asignale el valor de los parametros, crReport.Parameter_APROBADAS_fech_fin().
venga gracias de atemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Parametros para el Subinforme

Publicado por Belén (37 intervenciones) el 04/11/2005 09:19:03
Te paso información de como pasar párametros en Visual Basic (supongo que será parecido)

Private Sub Form_Load()
Dim crpParamdefs As CRAXDRT.ParameterFieldDefinitions
Dim crpParamdef As CRAXDRT.ParameterFieldDefinition

Dim strDate As String
Dim strMonth As String
Dim dFInicial As Date
Dim dFFinal As Date
' Abrir el reporte
Screen.MousePointer = vbHourglass
On Error GoTo errhandler

Set crReport = crApp.OpenReport(App.Path & "\rpt\certificacion.rpt", 1)
If IsNull(frmCertificacion.dtFechaInicio.Value) Or IsNull(frmCertificacion.dtFechaFin.Value) _
Then Exit Sub

dFInicial = frmCertificacion.dtFechaInicio.Value
dFFinal = frmCertificacion.dtFechaFin.Value

'*** Calcula el parámetro FechaParte. ***
Dim strTipoCertif As String
strTipoCertif = ""
If (Day(dFInicial) = 1) And (dFFinal = DateAdd("m", 1, dFInicial) - 1) Then
'*** Si es un mes completo, Fecha del tipo : Septiembre de 1999. ***
strTipoCertif = "Mensual"
strDate = Format(dFInicial, "mmmm")
strDate = strDate & " de " & Format(dFInicial, "yyyy") & vbNullChar
Else
'*** Si es un año completo, fecha tipo: Año 1999. ***
If (Day(dFInicial) = 1) And (dFFinal = DateAdd("yyyy", 1, dFInicial) - 1) Then
strDate = "Año " & Year(dFInicial)
strTipoCertif = "Anual"
Else
'*** Otro caso, del tipo: Del 12/12/98 al 10/10/99. ***
strDate = "Del " & dFInicial & " al " & dFFinal
strTipoCertif = "Otros"

End If
End If

'*** Carga la tabla de la que lee el informe. ***
Call frmCertificacion.CargarTablaCertificacion(strTipoCertif, dFInicial, dFFinal)

crReport.EnableParameterPrompting = False

Set crpParamdefs = crReport.ParameterFields

For Each crpParamdef In crpParamdefs
With crpParamdef
Select Case .ParameterFieldName
Case "FechaParte"
crpParamdef.AddCurrentValue (strDate & vbNullChar)
Case "FechaImpresion"
crpParamdef.AddCurrentValue (frmCertificacion.dtFechaImpresion.Value & vbNullChar)
Case "TipoCertificacion"
crpParamdef.AddCurrentValue (strTipoCertif & vbNullChar)
Case Else
Call infPanel.InformationOutput(vbCritical, _
"Error en informe.Nombre de parámetro desconocido")
Exit Sub
End Select
End With
Next
CrystalActiveXReportViewer1.ReportSource = crReport
CrystalActiveXReportViewer1.DisplayGroupTree = False
CrystalActiveXReportViewer1.ViewReport
Screen.MousePointer = vbDefault

Set crpParamdefs = Nothing
Set crpParamdef = Nothing
Exit Sub

errhandler:
If Err.Number = -2147206461 Then
MsgBox "El archivo de reporte no se encuentra,restáurelo de los discos de instalación", _
vbCritical + vbOKOnly
End If

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros para el Subinforme

Publicado por javi (5 intervenciones) el 04/11/2005 12:53:12
bueno gracias pero pasar parametros al informe, ya lo encontre, pero el problema lo tengo en los subinfomes que tengo en el
garcias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no consigo envia los Parametros para el Subinforme

Publicado por javi (5 intervenciones) el 04/11/2005 12:54:53
bueno gracias pero pasar parametros al informe, ya lo encontre, pero el problema lo tengo en los subinfomes que tengo en el
garcias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no consigo envia los Parametros para el Subinfo

Publicado por Belén (37 intervenciones) el 07/11/2005 15:34:53
Te pongo un ejemplo breve.....

'Set crsubreport1 = crReport.OpenSubreport("percompc")
'Set crsubreport2 = crReport.OpenSubreport("compc")
'Set subcrpParamDefs1 = crsubreport1.ParameterFields
'Set subcrpParamDefs2 = crsubreport2.ParameterFields

Es parecido todo lo demás..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para declarar lo que me has respondido?¿

Publicado por javi (5 intervenciones) el 08/11/2005 12:34:43
ey gracias, por esto, posiblemente vayan por aki los tiros,y llevo tanto tiempo intentando sacarlo, pero si me puedes decir como declarar "crsubreport1" y "subcrpParamDefs1" de aki
'crsubreport1 = crReport.OpenSubreport("Subiform1")
'subcrpParamDefs1 = crsubreport1.ParameterFields

y as que?¿?¿

gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para declarar lo que me has respondido?¿

Publicado por Belén (37 intervenciones) el 08/11/2005 13:40:47
Por aqui siguen los tiros..... Yo se que me funciono pero ahora el código que tengo no es el mismo. Espero que te sirva.

Private crReport As New CRAXDRT.Report
Private crsubreport1 As New CRAXDRT.Report
Private crApp As New CRAXDRT.Application

Private Sub Form_Load()

Dim crpParmadefs As CRAXDRT.ParameterFieldDefinitions
Dim crpParamdef As CRAXDRT.ParameterFieldDefinition
Dim subcrpParmadefs As CRAXDRT.ParameterFieldDefinitions
Dim subcrpParamdef As CRAXDRT.ParameterFieldDefinition
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Y finalmente para pasarloss

Publicado por Belén (37 intervenciones) el 08/11/2005 13:45:24
Y por último.......

Compara como se pasan parametros al reporte y al subreporte

'**PARAMETROS DE REPORTE
For Each crpParamdef In crpParamdefs ' Estos es para el reporte
With crpParamdef
Select Case .ParameterFieldName
Case "FechaImpresion"
crpParamdef.AddCurrentValue (frmPrintPartes.strFechaImpresion & vbNullChar)
Case "NumParte"
crpParamdef.AddCurrentValue (frmPrintPartes.icurrentnumparte)
End Select
End With
Next

'*** parametros para el subreporte
Set subcrpParamdefs = crsubreport1.ParameterFields
For Each subcrpParamdef In subcrpParamdefs
With subcrpParamdef
Select Case .ParameterFieldName
Case "[NUMPARTE]"
subcrpParamdef.AddCurrentValue (frmPrintPartes.icurrentnumparte & vbNullChar)
End Select
End With
Next
f
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Y finalmente para pasarloss

Publicado por Unaitxo (8 intervenciones) el 06/09/2006 15:27:15
Hola Belen,

Tengo un problemilla con el codigo que has puesto veras:

Tengo un informe que lo exporto directamente a un PDF, funciona perfectamente, pero ahora necesito pasarle unos parametros al report asi que he creado unas formulas en el report vacias llamadas (Usuario, Exten y Tele) y el codigo que tengo puesto es este:

Dim crpParamdefs As CRAXDRT.ParameterFieldDefinitions
Dim crpParamdef As CRAXDRT.ParameterFieldDefinition

Set crpParamdefs = CRReport.ParameterFields

With crpParamdef
For Each crpParamdef In crpParamdefs
Select Case .ParameterFieldName
Case "Usuario"
.AddCurrentValue ("Juan")
Case "Exten"
.AddCurrentValue ("12000")
Case "Tele"
.AddCurrentValue ("945698745")
End Select
Next
End With

El tema es que no entra por el For, desde la ventana de inmediato puedo acceder a las propiedades de la variable crpParandef, pero en cuanto pongo esto: (?crpParandef.ParameterFieldName) para ver que valor tiene, me genera el error 91 (Variable de tipo Object o la variable de bloque With no está establecida), por supuesto si colocas el cursor encima de la variable crpParandef su valor es nothing.

Se me olvidaba, estoy usando VB 6 y CR 8.5

Muchas Gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar