RE:Imprimir automaticamente reporte
Mira te mando mi ejemplo desde VB6
Creo los objetos, abro la conexcion ejecuto una conulta para enviarle al reporte el recordset y despues pregunto si esta activada la casilla de vista previa envio el reporte al control donde muestra la vista previa y desde ahi elijo si imprimir, exporto o lo que sea, si elijo imprimir me pide que elija el numero de coipas y despues la impresora algo bastante molesto pero en el caso de que no se elija vista previa simplemente envio esto
crreport.PrintOut False, 1
donde 1 es la cantidad de copias
EJEMPLO CON VB6
private sub imprimirremito(codremito as integer)
On Error GoTo errores
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)
crreport.Database.SetDataSource rs
If cvistaprevia.Value = 0 Then
crreport.PrintOut False, 1
Else
vfimprimir.CrystalActiveXReportViewer1.ReportSource = crreport
vfimprimir.CrystalActiveXReportViewer1.DisplayGroupTree = False
vfimprimir.CrystalActiveXReportViewer1.ViewReport
vfimprimir.CrystalActiveXReportViewer1.Refresh
vfimprimir.Width = 12315
vfimprimir.CrystalActiveXReportViewer1.Width = 12315
vfimprimir.Height = 11520
vfimprimir.CrystalActiveXReportViewer1.Height = 11520
vfimprimir.Show vbModal
End If
erroresde:
If Err.Number <> 0 Then
If mensaje(Err.Description, "exclamation", "OK", "Atención !!!", "", "") = False Then
End If
End If
end sub