Option Explicit
 
Private crApp As New CRAXDRT.Application
Private crReport As New CRAXDRT.Report
 
Private mflgContinuar As Boolean
Private mstrParametro1 As Double
Private mlngParametro2 As Long
 
Public Sub PasarParametros(sParam1 As Double)
    mstrParametro1 = sParam1
'    mlngParametro2 = lParam2
End Sub
 
Private Sub Form_Resize()
    CRViewer.Top = 0
    CRViewer.Left = 0
    CRViewer.Height = ScaleHeight
    CRViewer.Width = ScaleWidth
End Sub
 
Private Sub Form_Load()
    Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
    Dim crParamDef As CRAXDRT.ParameterFieldDefinition
 
    On Error GoTo ErrHandler
 
    'Abrir el reporte
    Screen.MousePointer = vbHourglass
    
    mflgContinuar = True
    Set crReport = crApp.OpenReport(App.Path & "\Informes\InformeFactura.rpt", 1)
 
    ' Parametros del reporte
    Set crParamDefs = crReport.ParameterFields
 
    For Each crParamDef In crParamDefs
        Select Case crParamDef.ParameterFieldName
            Case "Numero"
                crParamDef.AddCurrentValue (mstrParametro1)
        
 '           Case "Parametro2"
 '               crParamDef.AddCurrentValue (mlngParametro2)
                
        End Select
 
    Next
 
    CRViewer.ReportSource = crReport
    CRViewer.DisplayGroupTree = False
    CRViewer.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