Bueno agregue mas columnas y todo perfecto.
Ahora al poner un campo contenido en txtTotal que esta fuera del bucle, se descuadra con
relacion al campo !subTotal que esta dentro del bucle, pero solo a veces y no pillo donde esta el error de por que se descuadra, solo sucede esto cuando la lista es muy extensa, dejo esta
imagen para que vean el problema
Código:
Private Sub cmdImprimir_Click()
Dim iCol As Integer, iFila As Integer, sImp As String, sImp2 As String, sImp3 As String
iCol = 5 ' margen izquierdo
iFila = 2 ' 1ª línea de págima
' Inicializamos la impresora
Printer.Print "";
With Printer
.ScaleMode = vbCharacters
.FontName = "LinePrinter"
.FontSize = 9
.CurrentY = iFila
.CurrentX = iCol
End With
Printer.Print "Fecha" & " : " & txtFecha;
Printer.CurrentX = 56
Printer.Print "Boleta Nº" & " : " & txtBoleta
Printer.Print
' Encabezado del informe
Printer.CurrentX = iCol
Printer.Print "Descripción";
Printer.CurrentX = iCol + 39.5
Printer.Print "Precio";
Printer.CurrentX = iCol + 47.5
Printer.Print "Cantidad";
Printer.CurrentX = iCol + 58
Printer.Print "Subtotal";
Printer.Print
'Printer.FontBold = False
rsTemporal.MoveFirst
Do Until rsTemporal.EOF
With rsTemporal
Printer.CurrentX = iCol
Printer.Print !nomProd;
sImp = Format(!precioVenta, "###0.00")
Printer.CurrentX = 49 - (Printer.TextWidth(sImp)) 'Alinea los decimales a la derecha?
Printer.Print sImp;
sImp2 = Format(!cantidad)
Printer.CurrentX = 59 - (Printer.TextWidth(sImp2))
Printer.Print sImp2;
sImp3 = Format(!SubTotal, "###0.00")
Printer.CurrentX = 69 - (Printer.TextWidth(sImp3))
Printer.Print sImp3;
Printer.CurrentY = Printer.CurrentY + 0.9 'Espacio entre cada fila del rs
End With
rsTemporal.MoveNext
Loop
Printer.Print
Printer.CurrentX = 69 - (Printer.TextWidth(sImp3))
Printer.Print Trim(txtTotal)
Printer.Print
Printer.CurrentX = 5
Printer.Print "Vendedor" & " : " & dtcEmpleado.Text
Printer.EndDoc
End Sub
saludos