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