Crystal Report - Pasar parámetros a un subinforme

 
Vista:

Pasar parámetros a un subinforme

Publicado por Sebastián (7 intervenciones) el 05/07/2006 21:14:54
Buenas a todos. Vamos a ver, Tenfo un informe con varios subinformes. Estos subinformes están enlazados con el principal (de uno a varios). Hasta aquí todo bien. El problema viene cuando intento pasar un parámetro a cada subinforme desde visual basic (este parámetro no tiene nada que ver con el principal). He seguido todos los hilos de este foro, pero no doy con la tecla.

Estoy utilizando CR 8 y VB 6.

La estructura de la Base de Datos es

Explotaciones (principal)
Ganaderos (subinforme1 - 1 registro)
Sementales(subinforme2 - varios registros)

Si pudieran ayudarme, les estaría muy agradecido.
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:Pasar parámetros a un subinforme

Publicado por Carlos Parada (3 intervenciones) el 05/07/2006 21:25:42
Sebastian, estas utilizando el crystal32.ocx o el viewer???
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:Pasar parámetros a un subinforme

Publicado por Sebastián (7 intervenciones) el 06/07/2006 01:05:44
Supongo que es el crystal32.ocx, porque inserto un objeto en el formulario muy parecido a un botón. No es el visor que hay que insertar en el formulario y hay que ponerle el tamaño del formulario para que se vea bien.

Siento la torpeza, pero estoy empezando a utilizar Crystal. 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

RE:Pasar parámetros a un subinforme

Publicado por Sebastián (7 intervenciones) el 06/07/2006 12:28:50
Te muestro el código por si sirve de algo

Private Sub BotonInforme_Click()
If OptionGenerador(0).Value = True Then
CRGenerador.Reset
CRGenerador.DataFiles(0) = FormMenu.CaminoBD
CRGenerador.ReportFileName = App.Path & "\Informes\ReportInfGenerador1.rpt"
CRGenerador.SelectionFormula = "{FINCAS.CODEXPLOTACION} = '" & Trim(Textos(0).Text) & "'"
CRGenerador.ParameterFields(0) = "cfCodExplotacion; '" & Trim(Textos(0).Text) & "'; TRUE"
CRGenerador.ReportSource = 0
Call MostrarGanadero
Call MostrarSementales
CRGenerador.DiscardSavedData = True
CRGenerador.WindowState = crptMaximized
CRGenerador.Destination = crptToWindow
CRGenerador.Action = 1
End If
End Sub

Private Sub MostrarGanadero()
If CheckGanado(0).Value = 1 Then
CRGenerador.ParameterFields(0) = "cpGanaderos; VER; TRUE"
Else
CRGenerador.ParameterFields(0) = "cpGanaderos; NOVER; TRUE"
End If
End Sub

Private Sub MostrarSementales()
If CheckGanado(1).Value = 1 Then
CRGenerador.ParameterFields(0) = "cpSementales; VER; TRUE"
Else
CRGenerador.ParameterFields(0) = "cpSementales; NOVER; TRUE"
End If
End Sub

En CR los parámetros los uso en la sección detalles a, b. Si estos equivalen a "VER" muestro la sección si no, no la muestro. Sólo tengo una fórmula que me permite seleccionar el registro que deseo ver (FINCA.CODEXPLOTACION). No consigo pasar los parámetros sin que me aparezaca la ventana de petición de parámetros.

Esto es lo que tengo escrito en la opción suprimir de la sección detalles a:
If {?cpGanaderos} = 'VER' then False else True

Esto en la b:
If {?cpSementales} = 'VER' Then
If not isnull({SEMENTALES.CROTAL}) Then '(Esto es por si no contiene registros)
False
else
True
else
True

PD: Siento que haya escrito demasiado.
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

Problema Resuelto

Publicado por Sebastián (7 intervenciones) el 06/07/2006 14:38:45
He obtado por quitar el control Crystal 32.ocx y poner un viewer y hacerlo todo por código. Este es el código del formulario para visualizar el informe:
Option Explicit
Private crApp As New CRAXDRT.Application
Private crReport As New CRAXDRT.Report
Private mstrParametro1 As Double
Private mlngParametro2 As Long

Private Sub Form_Load()
Dim crpparamdefs As CRAXDRT.ParameterFieldDefinitions
Dim crpparamdef As CRAXDRT.ParameterFieldDefinition
'Abrir el reporte
Screen.MousePointer = vbHourglass

Set crReport = crApp.OpenReport(App.Path & "\Informes\ReportInfGenerador1.rpt", 1)
crReport.RecordSelectionFormula = "{FINCAS.CODEXPLOTACION} = '" + Trim(FormGenerador.Textos(0).Text) + "'"

' Parametros del reporte
crReport.EnableParameterPrompting = False
Set crpparamdefs = crReport.ParameterFields
For Each crpparamdef In crpparamdefs
With crpparamdef
Select Case .ParameterFieldName
Case "cpGanaderos"
.AddCurrentValue (FormGenerador.VarGanaderos)
Case "cpSementales"
.AddCurrentValue (FormGenerador.VarSementales)
End Select
End With
Next

CRGenViewer.ReportSource = crReport
CRGenViewer.DisplayGroupTree = False
CRGenViewer.ViewReport

Screen.MousePointer = vbDefault
End Sub

Private Sub Form_Resize()
CRGenViewer.Top = 0
CRGenViewer.Left = 0
CRGenViewer.Height = FormGenViewer.Height - 400
CRGenViewer.Width = FormGenViewer.Width - 128
End Sub

Para aquellos que les haga falta.
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

Muchas Gracias

Publicado por heriberto (1 intervención) el 27/09/2006 16:32:38
Mil Gracias.. por ese post.. me ha servido de mucho.. Saludos desde Mexico
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:Pasar parámetros a un subinforme

Publicado por Ismael Estrada (2 intervenciones) el 13/07/2006 16:59:38
Supongamos que estoy pasando bien mis parametros....como hago para ponerlo los parametros de conexion al crysatal desde visual basic
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

parametros a vb

Publicado por Orkidea (1 intervención) el 06/09/2007 17:34:47
hola estoy generando reporte con 4 subinformes, el problema es k cuando kiero pasar los paramtros a vb, no me muestra al informacion correcta, es decir solo muestra informaciòn de 1 subinforme, si alguien puede ayudarme se lo agradeceria muchisimo.
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