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 original
Dim 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