none
Crystal report 9 and vb6.0 (factura) RRS feed

  • Pregunta

  • Hola a todos, una consulta tengo que imprimir una factura los datos están en un formulario de vb6.0 lo que intento hacer es la factura que esta en el form llevarlo al CR9 para poder imprimir pero me sale error de automatización la conexión esta hecha en el reporte a la hora de tomar los datos he creado un ODBC ya he hecho un reporte de listado por fechas y normal me llama a los datos normal desde el vb6 al CR9 e imprimo sin ningún problema.

    Pero en este reporte de la factura si me ha salido el error mencionado les muestro el código:

                         

    Option Explicit
    Private crApp As New CRAXDRT.APPLICATION
    Private crReport As New CRAXDRT.Report

    Private mflgContinuar As Boolean
    Private mstrParametro1 As String
    Private mstrParametro2 As String

    Private Sub Form_Activate()
      If Not mflgContinuar Then Unload Me
    End Sub

    Private Sub Form_Load()
      Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
      Dim crParamDef As CRAXDRT.ParameterFieldDefinition
      Dim SelectFormula As String

      On Error GoTo ErrHandler

      'Abrir el reporte

      strSQL = "SELECT RecepcionEquipos.codRecEquipo, Clientes.cliCedula, Clientes.cliNombre, Clientes.cliDireccion, RecepcionEquipos.fechaIngreso, Clientes.cliTelefono, DetalleRecepcionE.proCodigo, Productos.proDescripcion, DetalleRecepcionE.descripcion, DetalleRecepcionE.observacion, DetalleRecepcionE.precio, DetalleRecepcionE.cantidad, DetalleRecepcionE.total"
      strSQL = strSQL & " FROM   ((Clientes Clientes INNER JOIN RecepcionEquipos RecepcionEquipos ON Clientes.cliCodigo=RecepcionEquipos.cliCodigo) INNER JOIN DetalleRecepcionE DetalleRecepcionE ON RecepcionEquipos.codRecEquipo=DetalleRecepcionE.codRecEquipo) INNER JOIN Productos Productos ON DetalleRecepcionE.proCodigo=Productos.proCodigo"
      strSQL = strSQL & " WHERE RecepcionEquipos.codRecEquipo = '" & mstrParametro1 & "'"
      crReport.SQLQueryString = strSQL

     Screen.MousePointer = vbHourglass

      mflgContinuar = True
      Set crReport = crApp.OpenReport(App.Path & "\Reportes\Recibo de ingreso equipos.rpt", 1)
      'Parametros del reporte
      Set crParamDefs = crReport.ParameterFields

      For Each crParamDef In crParamDefs
        Select Case crParamDef.ParameterFieldName
          Case "Parametro1"
            crParamDef.AddCurrentValue (mstrParametro1)
    '      Case "Parametro2"
    '        crParamDef.AddCurrentValue (mstrParametro2)
        End Select
      Next

      CRViewer2.ReportSource = crReport
      CRViewer2.DisplayGroupTree = False
      CRViewer2.ViewReport
      Screen.MousePointer = vbDefault

      Set crParamDefs = Nothing
      Set crParamDef = 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
      Else
        MsgBox Err.Description, vbCritical + vbOKOnly
      End If

      mflgContinuar = False
      Screen.MousePointer = vbDefault

    End Sub

    Private Sub Form_Resize()
      CRViewer2.Top = 0
      CRViewer2.Left = 0
      CRViewer2.Height = ScaleHeight
      CRViewer2.Width = ScaleWidth
    End Sub

    Public Sub PasarParametros(sParam1 As String)
     mstrParametro1 = sParam1
    ' mstrParametro2 = sParam2
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
      Set crReport = Nothing
      Set crApp = Nothing
    End Sub

    Les agradesco de antemano su colaboración


    Pedro Avila

    martes, 3 de julio de 2012 20:48