Yo lo hice con esto espero y te sirva si tines duda me escribes a mi correo
[email protected];
Private Sub cmdImprimir_Click()
Dim intJ As Integer, crappl As CRAXDDRT.Application, crrep As CRAXDRT.Report
Dim blnN, blnAd, blnT, blnAg, blnIE As Boolean
If txtReferencia.Text <> "" And IsNumeric(txtReferencia.Text) Then
If Referencia = 1 Then
Set crappl = New CRAXDDRT.Application
Set crrep = crappl.OpenReport("C:\Documents and Settings\FREDY\My Documents\Reportes Crystal Reports 9\Pedimento1.rpt")
blnN = False
blnAd = False
blnT = False
blnAg = False
blnIE = False
'impresión directa
crrep.PaperSource = crPRBinManual
'pasar el paremtro al reporte
crrep.ParameterFields(1).AddCurrentValue (Val(txtReferencia.Text))
For intJ = 1 To intCopias
If cbxNegra.Value = 1 And blnN = False Then
crrep.ParameterFields(2).AddCurrentValue ("")
blnN = True
ElseIf cbxAdmon.Value = 1 And blnAd = False Then
crrep.ParameterFields(2).AddCurrentValue ("ADMINISTRACION GENERAL DE ADUANAS")
blnAd = True
ElseIf cbxTransportista.Value = 1 And blnT = False Then
crrep.ParameterFields(2).AddCurrentValue ("TRANSPORTISTA")
blnT = True
ElseIf cbxAgente.Value = 1 And blnAg = False Then
crrep.ParameterFields(2).AddCurrentValue ("AGENTE ADUANAL")
blnAg = True
ElseIf cbxImpExp.Value = 1 And blnIE = False Then
blnIE = True
If blnTipoPedimento = -1 Then
crrep.ParameterFields(2).AddCurrentValue ("IMPORTADOR")
Else
crrep.ParameterFields(2).AddCurrentValue ("EXPORTADOR")
End If
End If
'badeja de impresion
crrep.PrintOut False
Next
Set crappl = Nothing
Set crrep = Nothing
End If
Else
MsgBox "Teclee un numero de referencia", vbCritical + vbOKOnly, "Aviso"
txtReferencia.SetFocus
End If
End Sub 'cmdImprimir_Click