Crystal Report - selecionar una impresora por código

   
Vista:

selecionar una impresora por código

Publicado por Jorge J. (3 intervenciones) el 15/09/2007 17:16:10
Hola
necesito imprimir un reporte con una impresora especificada desde código y no desde el cuádro de diálogo de windows o sea que imprima directamente a la impresora especificada en el código.

Gracias de antemano.

J.J.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:selecionar una impresora por código

Publicado por llo_mysm4 (14 intervenciones) el 24/09/2007 18:05:26
hola!
yo lo hago asi:

impres = "oki C5900"
Dim prnPrinter As Printer
For Each prnPrinter In Printers
If prnPrinter.DeviceName = impres Then
Set Printer = prnPrinter
Exit For
End If
Next

despues a la hora de imprimir, en vez de poner .printreport tienes que poner .printout
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:selecionar una impresora por código

Publicado por silviaress (3 intervenciones) el 02/10/2007 19:14:01
Hola yo tengo un problema parecido. Mira debo imprimir en una impreosra especifica talc ual como lo defines tu, pero tengo un reporte en crystal y este esta conectado con un procedure stored , visual le entrega los parametros pero no me imprime nada comoq no ce conecta, este es elc odigo a ver si me peueden ayudar por faaa ya llevo dos semanas en esto por fisssss

no se q comando se usan para pasarle los parametros al sp
esto lo tengo asi pero no me fucniona se q esta malo pero no se q mas hacerr

Private Sub Command1_Click()
Dim datos()
Dim ObjCrystal As CRAXDRT.Application
Dim Objrpt As CRAXDRT.Report

Set ObjCrystal = New CRAXDRT.Application
Set Objrpt = ObjCrystal.OpenReport("C:\Reporte_Silvia\rpt\Imp_codigo_barra_new.rpt")

csql = "select dc_impresora from " & Bd_Administracion & "..tb_usuario where dc_rut_cliente = '" + cRutcliente + "' and dc_usuario = '" + Trim$(cUsuario) + "'"
If SQL_Execute(csql) = 0 Then
If SQL_Fetch(datos) = 0 Then
Impresora = Trim$(datos(1))
If Trim$(datos(1)) = "" Then
MsgBox "Impresora no definida para este usuario ", vbInformation, Me.Caption
Exit Sub
End If
End If
End If
For Each X In Printers
If X.DeviceName = Impresora Then
Set printer = X
Exit For
End If
Next
If pstrTipo = "" Then
With Objrpt
.SelectPrinter printer.DriverName, printer.DeviceName, printer.Port
CrtAviso.Destination = crptToPrinter

CrtAviso.ReportFileName = gs_RptPath + "Imp_codigo_barra_new.rpt"
CrtAviso.StoredProcParam(0) = Trim$(cRutcliente)
CrtAviso.StoredProcParam(1) = Trim$(txtnumoc.Text)
CrtAviso.StoredProcParam(2) = CDbl(txtEmb.Text)
CrtAviso.StoredProcParam(3) = xsufijo + " "
CrtAviso.StoredProcParam(4) = CDbl(xtipo)
CrtAviso.StoredProcParam(5) = CDbl(xid)
CrtAviso.Connect = "DSN = import2000;UID = ;PW"

.PrintOut
printer.EndDoc
'.PrintOut
End With
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:selecionar una impresora por código

Publicado por Branco (1 intervención) el 17/10/2007 20:24:28
aqui envias los parametros al crystal desde un procedimiento ojala te sirva.
;)
Dim oPrmFieldDef As Engine.ParameterFieldDefinitions
Dim oPrmFieldLoc As Engine.ParameterFieldDefinition
Dim oPrmValues As ParameterValues
Dim oPrmDiscreteValue As ParameterDiscreteValue

oPrmFieldDef = crDate1.DataDefinition.ParameterFields

oPrmFieldLoc = oPrmFieldDef.Item("@fecha_min")
oPrmValues = oPrmFieldLoc.CurrentValues
oPrmDiscreteValue = New ParameterDiscreteValue
oPrmDiscreteValue.Value = Form1.DateTimePicker1.Value.Date
oPrmValues.Add(oPrmDiscreteValue)
oPrmFieldLoc.ApplyCurrentValues(oPrmValues)

CRV1.ReportSource = crDate1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar