Problemas al Exportar a archivo de texto

Hola Experto, quisiera preguntarle algo: mi problema es el siguiente tengo un modulo de exportación de datos, en el me conecto a una base de datos access por medio de ADO, hago un recorset de una tabla y sus datos tengo que llevarlos aun archivo de texto (txt) resulta que al final del archivo me esta siempre dejando una linea en blanco, es decir que si la tabla tiene 100 registros en el archivo de texto me aparecen los nombre de la columnas de la tabla más los 100 registros más un ultimo registro en blanco (fila vacía) en total 102 registros sobra el ultimo en blanco, a que se deberá esto, como podría eliminar esa linea.
Este el código que utilizo:
Public Sub ExportarTexto(ByVal fname As String, ByVal registro As ADODB.Recordset)
Dim outfile As Long, i As Long
'fname: ryta y nombre del archivo a crear
'registro: recorset previamente ejecutado con una sentencia select, contiene los datos de la tabla
outfile = FreeFile()
Open fname For Output As #outfile
If Not registro.EOF Then
registro.MoveFirst
'Columas de la tabla
For i = 0 To registro.Fields.Count - 1
If txtreg <> "" Then
txtreg = txtreg & "|" & registro.Fields.Item(i).Name
Else
txtreg = registro.Fields.Item(i).Name
End If
Next i
Print #outfile, txtreg
'Datos de la tabla
Do While Not registro.EOF
DoEvents
txtreg = registro.Fields(0).Value
For i = 1 To registro.Fields.Count - 1
txtreg = txtreg & "|" & registro.Fields(i).Value
Next i
Print #outfile, txtreg
registro.MoveNext
Loop
End If
Close outfile
End Sub
Muchísimas Gracias por su atención

2 respuestas

Respuesta
1
Este objeto te permite crear carpetas, archivos, ver las propiedades, copiar, borrar, editar y más cosas:
http://www.w3schools.com/asp/asp_ref_filesystem.asp
http://www.tutorial-web.com/asp/fso/
http://www.csidata.com/custserv/onlinehelp/VBSdocs/vbs406.htm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/0fa93e5b-b657-408d-9dd3-a43846037a0e.asp
http://msdn2.microsoft.com/en-us/z9ty6h50.aspx
http://www.sqldts.com/292.aspx
Muchas Gracias David Enciso tu ayuda me sirvió de mucho.
Es el terminador del archivo, en sí cada línea que imprimes lleva un terminador de parráfo al final, alias enter, por lo cual al final tendrás el último registro y un enter. La única forma para eliminarlo es que edites el archivo y lo elimines en forma manual, por programa también lo puedes hacer, para lo cual te sugiero utilizar el objeto filesystemobject...
Respuesta
1
He revisado el código y lo veo bien; a mi juicio creo que posiblemente cargas un registro más en la tabla.
Creo que si activas el depurador puedes encontrar el problema.
Revisa o de lo contrario me vuelves a escribir.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas