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

Campos repetidos en Crystal Report 9

Estas en el tema de Campos repetidos en Crystal Report 9 en el foro de Visual Basic clásico en Foros del Web. Hola a todos, estoy enpezando con el crystal report y ya he hecho varios informes de los cuales quedan bien, pero el problema es cuando ...
  #1 (permalink)  
Antiguo 30/11/2011, 08:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 1
Campos repetidos en Crystal Report 9

Hola a todos, estoy enpezando con el crystal report y ya he hecho varios informes de los cuales quedan bien, pero el problema es cuando tengo que tomar el ID de una tabla para mostrar el nombre en el informe, este me repite solo el primero

Código:
Dim strRecordsFormula As String

Private Sub Form_Load()
Call IniciarConexion2

    DisableGroup
    InitCrystalReport
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    CRView.Width = Me.ScaleWidth - 50
    CRView.Height = Me.ScaleHeight - 1600
End Sub

Private Sub InitCrystalReport()
    Dim CRReport As CRAXDDRT.Report
    Dim CRApp As New CRAXDDRT.Application
    Dim i As Integer
    
    Set CRReport = CRApp.OpenReport(App.Path & "\Reportes\pacientes.rpt")
    
    With CRReport
        .Database.Tables(1).Location = (App.Path & "\anestesiologia.mdb")
        
        If optFilter(0).Value = True And strRecordsFormula <> "" Then
            .RecordSelectionFormula = strRecordsFormula
        Else
            .RecordSelectionFormula = "{pacientes.id_obra_social1} = " & Val(DataCombo1.BoundText) & " OR {pacientes.id_obra_social2} = " & Val(DataCombo1.BoundText) & " OR {pacientes.id_obra_social3} = " & Val(DataCombo1.BoundText) & " OR {pacientes.id_obra_social4} = " & Val(DataCombo1.BoundText) & ""
        End If
        
        If DataCombo1.TabIndex > 0 Then
            .FormulaFields(1).Text = "'" & DataCombo1.Text & "'"
        End If
        
'Creo que es aqui donde no realizo bien las consultas
        If rs.State = 1 Then rs.Close
        rs.Open "SELECT * FROM pacientes", cnn2, 1, 1
        If rs.RecordCount > 0 Then
            rs2.Open "SELECT o.nombre " & _
            "FROM pacientes p INNER JOIN obra_social o ON p.id_obra_social1 = o.id_obra_social ", cnn2, 1, 1
            .FormulaFields(3).Text = "'" & rs2!nombre & "'"
            rs2.Close
            
            rs2.Open "SELECT o.nombre " & _
            "FROM pacientes p INNER JOIN obra_social o ON p.id_obra_social2 = o.id_obra_social ", cnn2, 1, 1
            .FormulaFields(4).Text = "'" & rs2!nombre & "'"
            rs2.Close
            
            rs2.Open "SELECT o.nombre " & _
            "FROM pacientes p INNER JOIN obra_social o ON p.id_obra_social3 = o.id_obra_social ", cnn2, 1, 1
            .FormulaFields(5).Text = "'" & rs2!nombre & "'"
            rs2.Close
        End If
        
    End With

    With CRView
        .ReportSource = CRReport
        .ViewReport
        .Zoom (100)
        While .IsBusy
            DoEvents
        Wend
        .Visible = False
        .Refresh
    End With
    
    Set CRApp = Nothing
    Set CRReport = Nothing

End Sub

bla bla bla
Lo que me aparece en el reporte es

Código:
Nombre  Apellido  Fecha         OB1     OB2    OB3
juan      perez     12/11/1975  obra1  obra2  obra4
lucas     padilla    1/1/1980     obra1  obra2  obra4
maria     conte     5/8/2011    obra1  obra2  obra4

Es en los campos OB1 OB2 y OB3 que me toma los valores del primer cliente
Tampoco se si es la forma mas efectiva de pasar los datos

alguna ayuda

muchas gracias

Etiquetas: campos, crystal, repetidos, report, tabla
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 02:42.