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
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 de denciso
1
Respuesta de ifrancoz
1