hola tengo un problema con el boton imprimir.. este me imprime y todo pero corta la informacion me gustaria saber como hacer para que salga la informacion completa o que me imprima de forma horizontal ya que este me imprime de manera vertical, lo que trato de imrpimir es numeroorden,codigo,cliente,edad,tipo,trabajo y observacion, y es en trabajo donde me pica la informacion. aqui les dejo el codigo


[img]file:///D:/DOCUME%7E1/ADMINI%7E1/CONFIG%7E1/Temp/moz-screenshot.jpg[/img] Public Function imprimir(ByVal DataGrid As DataGrid, _
ByVal rs As ADODB.Recordset, _
ByVal Titulo As String) As Boolean

On Error GoTo Error_Function


Dim c As Integer
Dim dato As String
Dim Titles As String
Dim Header As String
Dim l As Integer 'number of lines For portrait
Dim LLCount As Integer 'temporary line counter
Dim MyArray(20) As Integer
Dim Rowado As Integer
Dim Rowdatag As Integer
Dim mAllowAddNew As Boolean

mAllowAddNew = DataGrid.AllowAddNew
DataGrid.AllowAddNew = False
DataGrid.Row = 0
Screen.MousePointer = vbHourglass

Header = " - Página n°: "

' REcupera los encabezados de columna
For c = 1 To DataGrid.Columns.Count
MyArray(c) = Len(DataGrid.Columns(c - 1).Caption) + 10
Titles = Titles & Space(10) & DataGrid.Columns(c - 1).Caption
Next

' Configura la fuente de la impresión para el encabezado
Printer.Font.Size = 8
Printer.Font.Bold = True
Printer.Font.Name = "Courier New"

Printer.Orientation = vbPRORPortrait
l = 82
' imprime el titulo , el encabezado y el número de página
Printer.Print Space(40) & Titulo
Printer.Print Header; Printer.Page
Printer.Print Titles
Printer.Font.Bold = False

DataGrid.Refresh

' recorre los datos del datagrid
For Rowado = 1 To Int((rs.RecordCount - 1) / 13) + 1


For Rowdatag = 0 To DataGrid.VisibleRows - 1
DataGrid.RowBookmark (Rowdatag)
dato = Space(10)


For c = 1 To DataGrid.Columns.Count
dato = dato & DataGrid.Columns(c - 1).CellText(DataGrid.Bookmark) & _
Space(MyArray(c) - _
Len(DataGrid.Columns(c - 1).CellText(DataGrid.Bookmark)))

Next
LLCount = LLCount + 1


If LLCount <= l Then

Printer.Print dato
Else
' Agrega una nueva hoja

Printer.NewPage
Printer.Print Space(30) & Titulo
Printer.Print Header; Printer.Page
Printer.Print Titles
Printer.Print dato
LLCount = 0

End If
rs.MoveNext
Next Rowdatag
DataGrid.Scroll 0, DataGrid.VisibleRows
Next Rowado
Printer.Print " "
Printer.EndDoc
Screen.MousePointer = vbNormal

imprimir = True
DataGrid.AllowAddNew = mAllowAddNew
Exit Function

' error
Error_Function:

MsgBox Err.Description, vbCritical
DataGrid.AllowAddNew = mAllowAddNew
Screen.MousePointer = vbNormal

End Function



Private Sub Command2_Click()
Call imprimir(DataGrid1, rs, "Reporte")
End Sub

Private Sub Form_Load()
orden
Set DataGrid1.DataSource = rs
End Sub
///////////////////////////////////////////////////////////////////////////////////
si tienen un codigo para imprimir de forma horizontal me gustaria que me lo pasaran para tenerlo muchas gracias