Hola como estan?
Bueno quisiera imprmir un reporte creado con crystal 11 en el cual imprimo un remito y los datos son variables, los cuales los envio a travez de un recordset de ado.
Anda todo bien solo que me gustaria saber como puedo hacer para que al enviar el recordset imprima el reporte sin necesidad de abrir un nuevo formulario y cargar el reporte en el control de crystal 11 y despues hacer click en el boton imprmir el cual me lleva a una ventana donde pide que pagina imprimir y recien imprime cuando elijo la impresora.
Es decir lo que necesito es enviar el recordset y que lo imprima sin necesidad de hacer los pasos anteriorres.
El codigo VB6 que utilizo es el siguiente:
Código VB6:
Ver originalDim CrApp As New CRAXDRT.APPLICATION
Dim crreport As New CRAXDRT.Report
Dim ruta As String
If db.State = 0 Then db.Open
ruta = App.Path & "\reportes\remitohorizontalfijo.rpt"
strsql = "select concat(cast(remito.ptoventa as char(4)),'-', cast(remito.codremito as char(8))) codremito, remito.fecha, remito.importetotal, " & _
" det_remito.importetotal totalrenglon, det_remito.preciounit, det_remito.cantidad, " & _
" productos.descripcion producto, talles.talle, productos.codproducto, " & _
" clientes.empresa cliente, clientes.cuit, clientes.iva, clientes.ingresosbrutos, clientes.telefono, clientes.direccion, " & _
" clientes.condiva, localidades.descripcion localidad " & _
" from remito inner join det_remito on det_remito.codremito = remito.codremito " & _
" inner join productos on productos.codigo = det_remito.codigo " & _
" inner join talles on talles.codtalle = det_remito.codtalle " & _
" left join clientes on clientes.codcli = remito.codcli " & _
" left join localidades on localidades.codpostal = clientes.codpostal " & _
" Where remito.codremito = " & codremito
Set rs = New ADODB.Recordset
rs.ActiveConnection = db
rs.CursorLocation = adUseClient
rs.Open (strsql), db, adOpenDynamic, adLockOptimistic
rs.ActiveConnection = Nothing
If rs.BOF And rs.EOF Then
If db.State = 1 Then db.Close
If mensaje("No hay resultado para esta consulta.", "exclamation", "OK", "Atención !!!", "", "") = False Then
End If
Exit Sub
Else
End If
'If db.State = 1 Then db.Close
Set crreport = CrApp.OpenReport(ruta, 1)
vfimprimir.CrystalActiveXReportViewer1.ReportSource = crreport
crreport.Database.SetDataSource rs
vfimprimir.CrystalActiveXReportViewer1.DisplayGroupTree = False
vfimprimir.CrystalActiveXReportViewer1.ViewReport
vfimprimir.CrystalActiveXReportViewer1.Refresh
vfimprimir.show vbmodal
Espero hacerme entender, muchas gracias