Visual Basic - printer en formulario continuo

Life is soft - evento anual de software empresarial
   
Vista:

printer en formulario continuo

Publicado por rtb (3 intervenciones) el 26/06/2008 16:13:35
Hola amigos del foro, necesito imprimir chequeras en un formulario continuo....lo hago con el objeto printer de visual basic 6.0, el problema que tengo es que me imprime correctamente hasta 3 chequeras despues de esto la impresora empieza a realizar un salto de página dejando varias paginas.
Uso este objeto porque la misma me permite formatear las salidas,espero me ayuden y gracias....EL CODIGO ES ASI:

Sub imprimir(ByVal x As Integer, _
ByVal y As Integer, _
ByVal Tit As String)

Printer.PSet (x, y), moWhite
Printer.Print Tit
End Sub
--------------------------------------------------------------

Sub genera_chequera(p_cuenta As String)
Dim x As Long
Dim y As Long
Dim vimporte As Long
Dim cuentas As String
Dim rs As New ADODB.Recordset
Dim contador As Integer
On Error GoTo error_impresora

sSql = "select .........."

Set rs = CN.Execute(sSql)

x = 60
y = 500

Printer.PaperBin = 8 '
Printer.PaperSize = 39 'Continuo USA estándar, 310 x 280 mm
'Printer.ScaleMode = 6 'centimetros

contador = 0
While rs.EOF = False
vimporte = rs.Fields("cuota")
cuentas = rs.Fields("cuenta")
contador = contador + 1
If contador = 5 Then
contador = 0
Printer.NewPage
y = 500
x = 60
MsgBox "nuevo valor valor de y=" & y
End If

Printer.FontName = "arial"
Printer.FontSize = 12
'Printer.Orientation = 1 'vertical
Printer.CurrentX = y
Printer.FontBold = True
imprimir x, y, "VALOR SA. LIQUIDACION DE CUOTA"
imprimir x + 6500, y, "VALOR SA. LIQUIDACION DE CUOTA"


Printer.FontBold = False
Printer.FontSize = 10

Printer.FontName = "Times New Roman"
y = y + 800
imprimir x, y, "Cliente "
imprimir x + 3100, y, "Cuenta Nro."

imprimir x + 6500, y, "Cliente "
imprimir x + 6500 + 3000, y, "Cuenta Nro."


y = y + 200
imprimir x, y, rs.Fields("nombres") & ", " & rs.Fields("apellidos")
imprimir x + 3200, y, cuentas

imprimir x + 6500, y, rs.Fields("nombres") & ", " & rs.Fields("apellidos")
imprimir x + 6500 + 3200, y, cuentas

'---------------------------------------------------
y = y + 400

imprimir x, y, "Cuota"
imprimir x + 1500, y, "Vencimiento"
imprimir x + 3000, y, "Importe Gs."

imprimir x + 6500, y, "Cuota"
imprimir x + 6500 + 1500, y, "Vencimiento"
imprimir x + 6500 + 3000, y, "Importe Gs."

y = y + 200
imprimir x, y, rs.Fields("numero_cuota") & "/" & rs.Fields("plazo")
imprimir x + 1500, y, Format(rs.Fields("fecha_vencimiento"), "dd/mm/yyyy")
imprimir x + 3000, y, vimporte

imprimir x + 6500, y, rs.Fields("numero_cuota") & "/" & rs.Fields("plazo")
imprimir x + 6500 + 1500, y, Format(rs.Fields("fecha_vencimiento"), "dd/mm/yyyy")
imprimir x + 6500 + 3000, y, vimporte

y = y + 800
imprimir x, y, "Interes por mora Gs.......por dia"
imprimir x + 6500, y, "Interes por mora Gs.......por dia"

y = y + 2000
rs.MoveNext
Wend

Printer.EndDoc

error_impresora:
If Err.Number <> 0 Then
MsgBox "Error Impresora ", vbInformation, "ERR..IMPRESION CHEQUERAS"
Exit Sub
End If
End Sub

saludos y gracias
Roberto
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