Bueno Hola a la comunidad, quisiera que me ayuden cone sta gran duda, ya que no encuentro mucha info en español,sobre todo, en cuanto a los subreportes.
Bueno mi problema es que yo en un reporte de caja muestro las ventas y otros ingresos del dia, deacuerdo a un rango de fechas,pero tambien es necesario saber las ventas de los vendedores para poder saber los montos y quienes mas venden, entonces como no son tablas vinculadas, lo eh tratado de hacer en un subreporte, ahora este sub reporte mostrara solo los datos de esa fecha solo del dia en donde se esta mostrando. y aparte un subreporte en pie de informe con los datos deacuerdo a un rango de fechas que manejo desde el form.
el Reporte principal lo lleno desde un StoreProcedure. que tiene los parametros de fecha inicial y final, rangos, y para llenar el subreporte tambien ago lo mismo.
Ahora hice el Subreporte aparte y luego solo lo agrege como subreporte... el problema es que al vincularla mediante el campo fecha no funciona, el reporte principal funciona pero el subreporte no.
Quisiera saber si es la forma correcta de hacerlo.
este es mi codigo con el cual lleno mi reporte principal
Código vb:
Ver originalSub verRepor()
Dim Config As New CapaNeg.clsConf
Dim estanul, txtrotulo, txthoraini, txthorafin, txtrespCC As String
Dim UTILI As New CapaNeg.clsReportes
Dim oInforme As New CrystalDecisions.CrystalReports.Engine.ReportDocument
oInforme = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
oInforme.Load(Windows.Forms.Application.StartupPath & "\rptReporUtil.rpt")
oInforme.SetDataSource(UTILI.verUtili(BDNAME))
oInforme.SubReports(0).SetDataSource(ds2.verRecordVents(BDNAME))
Dim PAR1 As New ParameterValues(), PAR2 As New ParameterValues()
Dim PROTULO As New ParameterDiscreteValue(), PROTULOCA As New ParameterDiscreteValue()
If Not IsDBNull(Config.VerConf(BDNAME).Tables(0).Rows(19).Item(2)) Then txthoraini = CDate(Config.VerConf(BDNAME).Tables(0).Rows(19).Item(2)).ToShortTimeString Else txthoraini = ""
estanul = Config.VerConf(BDNAME).Tables(0).Rows(18).Item(0)
If Not IsDBNull(Config.VerConf(BDNAME).Tables(0).Rows(18).Item(2)) Then txthorafin = CDate(Config.VerConf(BDNAME).Tables(0).Rows(18).Item(2)).ToShortTimeString Else txthorafin = ""
If Not IsDBNull(Config.VerConf(BDNAME).Tables(0).Rows(18).Item(3)) Then txtrespCC = Config.VerConf(BDNAME).Tables(0).Rows(18).Item(3) Else txtrespCC = ""
If estanul = 0 Then
txtrotulo = "El Sistema se Inicio a las " & txthoraini
Else
txtrotulo = "El Sistema se Inicio a las " & txthoraini & " y Finalizo a las " & txthorafin & " por " & txtrespCC
End If
PROTULO.Value = ROTULO
PROTULOCA.Value = txtrotulo
PAR1.Add(PROTULO)
PAR2.Add(PROTULOCA)
oInforme.DataDefinition.ParameterFields("ROTULO").ApplyCurrentValues(PAR1)
oInforme.DataDefinition.ParameterFields("ROTULOCAJA").ApplyCurrentValues(PAR2)
Me.crvGanan.ReportSource = oInforme
oInforme = Nothing
oReporVentGafi = Nothing
crvGanan.Zoom(1)
End Sub
lo que pude lograr es q se muestren los datos del informe principal y del subreporte, ahora no puedo filtrarlos, quisiera saber como lo ago, ya que vincule el campo que deseo filtrar en mi subreporte, osea el campo fecha. sera el campo que utilizara el subreporte para mostrar los registros solo de esa fecha especifica, ahora ahi esta mi problema por que no se como hacer eso, por que seguin se no tienen ninguna relacion las tablas de donde jalo los datos, ahora, ambos, tanto el reporte principal como el sub reporte los lleno atravez de StoreProcedure,, el informe principal lo lleno desde un storeprocedure, el subreporte mostrara las ventas de cada usuario pero solo las del dia, segun fecha del detalle actualmente mostrado, ya que muestro un informe de caja de cada dia, deacuerdo a un rango de fechas.
Ahora no se como pasarle la fecha (campo del informe principal) al subreporte para que muestre solo esos registros que concuerden con la fecha.
Espero me puedan ayudar, quizas tengan algun manual un poco mas entendible de los que encuentro en la red, o algun ejemplo que pueda usar.
de Antemano Gracias