Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Crystal report no muestra datos del recordset

Estas en el tema de Crystal report no muestra datos del recordset en el foro de Visual Basic clásico en Foros del Web. Buenas tardes a todos, tengo un problema con un reporte que creo en crystal report 9 con visual basic 6, el problema es que creo ...
  #1 (permalink)  
Antiguo 17/05/2011, 12:45
Avatar de borbonio  
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación Crystal report no muestra datos del recordset

Buenas tardes a todos,

tengo un problema con un reporte que creo en crystal report 9 con visual basic 6, el problema es que creo una consulta y genero el reporte, pero no me muestra los datos del recordset, me aparece el reporte en blanco, los datos si los trae el recorset pero no me los muestra en el reporte.

aca pongo mi codigo:
' el recordset y la conexion son globales

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

Private Sub Form_Load()
mflgContinuar = True
Set rs = Nothing
rs.Open "Select nombre, direccion, telefono from doctores", conn, adOpenStatic, adLockReadOnly
Set crReport = crApp.OpenReport(App.Path & "\General.rpt")
crReport.DiscardSavedData
crReport.Database.SetDataSource rs
crViewer.ReportSource = crReport
crViewer.ViewReport
End Sub

Otra es que intento mostrar los datos del recordset en el reporte, hago un for para que me desglose fila por fila el rs y lo muestre en el reporte, pero me muestra solo la ultima fila, este es el codigo:

Set crParamDefs = crReport.ParameterFields
Dim NumRows As Integer
Dim NumFields As Integer
Dim i As Integer
NumRows = rs.RecordCount
NumFields = rs.Fields.Count

For i = 1 To NumRows
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "texto1"
crParamDef.AddCurrentValue (rs.Fields(0))
Case "texto2"
crParamDef.AddCurrentValue (rs.Fields(1))
Case "texto3"
crParamDef.AddCurrentValue (rs.Fields(2))
End Select
Next
rs.MoveNext
Next i

Set crParamDefs = Nothing
Set crParamDef = Nothing

me muestra solo el ultimo registro y no todos en el reporte, si alguien me podria ayudar le agradeceria mucho.

Saludos Cordiales..
  #2 (permalink)  
Antiguo 18/05/2011, 09:40
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 2 meses
Puntos: 47
Respuesta: Crystal report no muestra datos del recordset

Hola!!
Asi es como cargo con el CRViewer:
Código vb:
Ver original
  1. Private Sub Form_Load()
  2.     Dim IDNombreServer As String, IDUsuario As String, IDPassword As String, IDBaseDatos As String
  3.     Dim Crystal As CRAXDRT.Application       'PARA CARGAR EL REPORTE DESDE ARCHIVO
  4.    Dim Reporte As CRAXDRT.Report            'CONTENEDOR DEL REPORTE
  5.    
  6.     CRViewer.DisplayTabs = False            
  7.     CRViewer.EnableDrillDown = False        
  8.     CRViewer.EnableRefreshButton = False    
  9.    
  10.     Set Crystal = New CRAXDRT.Application          
  11.      
  12.     'ABRIR EL REPORTE
  13.    Set Reporte = Crystal.OpenReport(App.Path & "\Reporte.rpt")
  14.        
  15.     Reporte.Database.Tables(1).SetLogOnInfo IDNombreServer, IDBaseDatos, IDUsuario, IDPassword
  16.    
  17.     Reporte.DiscardSavedData
  18.     Reporte.RecordSelectionFormula = " "
  19.     DoEvents
  20.     Reporte.RecordSelectionFormula = strCondicion   'EL REPORTE DEBE TENER UN "SELECT *",
  21.                             'POR LO QUE COLOCAMOS AQUI LOS FILTROS QUE DESEAMOS,
  22.                             'EJ.: strCondicion = "{TABLA.ID_CAMPO} = " & txtID_CAMPO.TEXT
  23.    
  24.     CRViewer.ReportSource = Reporte                 'LINK DEL VIEWER AL REPORTE
  25.    CRViewer.ViewReport                             'MOSTRAR REPORTE
  26.    
  27.     Do While CRViewer.IsBusy                        
  28.         DoEvents                                    
  29.     Loop                                            
  30.    
  31.     CRViewer.Zoom 100
  32.     Screen.MousePointer = vbDefault
  33.     Reporte.RecordSelectionFormula = Empty
  34. End Sub
  35.  
  36. Private Sub Form_Resize()
  37.     CRViewer.Top = 0
  38.     CRViewer.Left = 0
  39.     CRViewer.Height = Me.Height
  40.     CRViewer.Width = Me.Width
  41. End Sub

Nos cuentas!!
  #3 (permalink)  
Antiguo 18/05/2011, 14:40
Avatar de borbonio  
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Crystal report no muestra datos del recordset

Gracias amigo, la solucion esta perfecta porque con ella he solucionado los parametros de las condiciones, pero creo que no me explique bien, digamos que elijo desde un formulario el tipo de reporte, de acuerdo a este tipo de reporte seleciono el query a utilizar, en mi crystal quiero mostrar los resultados del query pero dinamicamente

parametroNombre parametroApellido
adrian luciano
jose gonzalez
juan castro

asi lo quiero mostrar con parametros, aunque por ahi lei que cada parametro solo acepta un resultado, crei que funcionaria porque esta en la seccion de detalle del crystal report, y como te digo solo me imprime el ultimo registro del recordset

no se si sea mi codigo o este mal mi idea.

Gracias por responder saludos

Etiquetas: crystalreport9, visualbasic
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.