Funcion de Conexion para leer el TxT
Código:
Funcion que use para imprimirPrivate Function fichero_txt() As ADODB.Recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
'Cadena de conexión
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.Path & ";", "", ""
'Ejecutamos el recordset pasandole el archivo de texto en la cláusula From
rs.Open "select * from [prueba#txt]", conn, adOpenStatic, _
adLockReadOnly, adCmdText
'eliminamos las variables
Set fichero_txt = rs
Set rs = Nothing
Set conn = Nothing
End Function
Código:
En el Evento Click del Command es donde me genera el ErrorPublic Function imprimir(ByVal DataGrid As DataGrid, _
ByVal fichero_txt As ADODB.Recordset, _
ByVal Titulo As String) As Boolean
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 Rowado As Integer
Dim Rowdatag As Integer
Dim registro As String * MAX_CARACTERES
Dim t As String * MAX_CARACTERES
Screen.MousePointer = vbHourglass
DataGrid1.Row = 0
Header = " - Página n°: "
For c = 1 To DataGrid.Columns.Count
t = DataGrid.Columns(c - 1).Caption
Titles = " " & LTrim(Titles & t) & " "
Next
' Configura la fuente de la impresión para el encabezado
Printer.Font.Size = 8
Printer.Font.Bold = True
Printer.Font.Name = "Courier New"
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(MAX_CARACTERES)
Dim s As Variant
For c = 1 To DataGrid.Columns.Count
registro = DataGrid.Columns(c - 1).CellText(DataGrid.Bookmark)
dato = " " & LTrim(dato & registro) & " "
Next
LLCount = LLCount + 1
If LLCount <= l Then
Printer.Print dato
Else
' Agrega una nueva hoja
Printer.NewPage
Printer.Print Space(40) & 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
Exit Function
' error
Error_Function:
MsgBox Err.Description, vbCritical
End Function
Código:
Bueno muchachos espero contar con su colaboracion y atento a sus respuestas, de antemano les doy las gracias. Private Sub Command1_Click()
Call imprimir(DataGrid, rs, "Formato de Impresión") ==== Aqui es el error
End Sub


