Cómo podría exportar un recordset a fichero txt con
formato delimitador.
Agradecido de antemano.
Luijo
Pues puedes utilizar el asistente para exportación de texto.
Te sitúas encima de una tabla | Botón derecho ratón | Guardar como... |
Activas, En un archivo o una base de datos externos | Guardar como tipo =
Archivos de texto
--
Un Saludo,
¡¡Se está preparando el III Encuentro!!
http://www.mcpegasus.com/encuentros/iiiencuentro.htm
McPegasus
Valencia (es)
[MVP - Access MS]
mcpe...@mcpegasus.com
www.mcpegasus.com
"Luis Omar" <l69...@hotmail.com> escribió en el mensaje
news:048b01c2e717$14715170$a301...@phx.gbl...
RecordSetAtxt "SELECT * FROM Clientes", "Clientes.txt", "|"
Para grabar los datos utiliza el procedimiento GrabaDato
____________________________________
Public Sub RecordSetAtxt( _
ByVal SQL As String, _
ByVal Fichero As String, _
Optional ByVal Separador As String = ";")
' Este procedimiento graba el Recordset
' generado por el parámetro SQL
' en el fichero pasado como parámetro.
' edu...@olaz.net
On Error GoTo HayError
Dim strFichero As String
Dim i As Long
Dim rs As DAO.Recordset
Dim lngCampos As Long
Dim strCampo As String
Dim strRegistro As String
Set rs = CurrentDb.OpenRecordset( _
SQL, dbOpenSnapshot)
strFichero = CurrentProject.Path & "\" & Fichero
With rs
'Cargamos los campos del Recordset em la matriz
lngCampos = .Fields.Count
If lngCampos = 0 Then
.Close
Set rs = Nothing
Exit Sub
End If
If .RecordCount > 0 Then
.MoveFirst
Do While Not .EOF
strRegistro = .Fields(0)
For i = 1 To lngCampos - 1
strRegistro = strRegistro & Separador
strRegistro = strRegistro & .Fields(i)
Next i
GrabaDato strRegistro, strFichero, ";"
.MoveNext
Loop
End If
.Close
End With
Set rs = Nothing
Salir:
Exit Sub
HayError:
MsgBox "Se ha producido el error nº " _
& CStr(Err.Number) _
& vbCrLf _
& Err.Description, _
vbCritical + vbOKOnly, _
" Error en el procedimiento RecordSetAtxt"
End Sub
Public Sub GrabaDato(ByVal Dato As String, ByVal Fichero As String)
Dim lngFichero As Long
lngFichero = FreeFile
Open Fichero For Append As #lngFichero
Print #lngFichero, Dato
Close #lngFichero
End Sub
____________________________________
Saludos desde la calle Estafeta de Pamplona
Eduardo Olaz
Microsoft [MVP] Access
"Luis Omar" <l69...@hotmail.com> escribió en el mensaje
news:048b01c2e717$14715170$a301...@phx.gbl...
Public Sub RecordSetAtxt( _
ByVal SQL As String, _
ByVal Fichero As String, _
Optional ByVal Separador As String = ";")
' Este procedimiento graba el Recordset
' generado por el parámetro SQL
' en el fichero pasado como parámetro.
' edu...@olaz.net
On Error GoTo HayError
Dim strFichero As String
Dim i As Long
Dim rs As DAO.Recordset
Dim lngCampos As Long
Dim strRegistro As String
Set rs = CurrentDb.OpenRecordset( _
SQL, dbOpenSnapshot)
strFichero = CurrentProject.Path & "\" & Fichero
With rs
'Cargamos los campos del Recordset em la matriz
lngCampos = .Fields.Count
If lngCampos = 0 Then
.Close
Set rs = Nothing
Exit Sub
End If
If .RecordCount > 0 Then
.MoveFirst
Do While Not .EOF
strRegistro = .Fields(0)
For i = 1 To lngCampos - 1
strRegistro = strRegistro & Separador
strRegistro = strRegistro & .Fields(i)
Next i
GrabaDato strRegistro, strFichero
.MoveNext
Loop
End If
.Close
End With
Set rs = Nothing
Salir:
Exit Sub
HayError:
MsgBox "Se ha producido el error nº " _
& CStr(Err.Number) _
& vbCrLf _
& Err.Description, _
vbCritical + vbOKOnly, _
" Error en el procedimiento RecordSetAtxt"
Resume Salir