Cita:
Iniciado por KingColt Bueno quiero imprimir una lista pero lo que necesito por ahora es imprimir un recorset igual a esta
imagen.
El codigo que tengo es este, se manejar un poco el objeto printer pero me atasque con esto, quiero hacer lo mismo de imagen, pero los campos codprod y precioVenta quedan juntos en una misma fila y las cabeceras esta descuadradas(podria usar currentx y currentY pero seria mucho trabajo y repetir las cordenadas muchas veces), para separarlas intente separar con espacios en blanco pero debe haber otra forma
Para alinear los importes en la misma columna, prueba así:
Código:
Private Sub cmdImprimir_Click()
Dim iCol As Integer, iFila As Integer, sImp 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 = 8
.CurrentY = iFila
.CurrentX = iCol
End With
' encabezado del informe
Printer.CurrentX = iCol
Printer.Print "Descripción";
Printer.CurrentX = iCol + 75
Printer.Print "Precio"
Printer.Print
' impresión de los datos
rsTemporal.MoveFirst
Do Until rsTemporal.EOF
With rsTemporal
Printer.CurrentX = iCol
Printer.Print !nomprod;
sImp = Format(!precioventa, "#,##0.00")
Printer.CurrentX = 80 - (Printer.TextWidth(sImp))
Printer.Print sImp
Printer.CurrentY = Printer.CurrentY + 0.3
End With
rsTemporal.MoveNext
Loop
Printer.EndDoc
End Sub
Nota:
80 es la posición derecha (en caracteres) de la columna a imprimir el campo 'precioventa'. Atento al punto y coma después del campo 'nomprod' para que imprima en la misma línea.