Access - exportar a .txt los registros de un form

   
Vista:

exportar a .txt los registros de un form

Publicado por elias (405 intervenciones) el 28/05/2008 17:07:15
Buenas

tengo un form de registros continuo en el cual se me muestran unos resultados u otros segun elijo un valor en un combo....como podria hacer para que los resultados devueltos y que veo en dicho form, me los exportara a un fichero de texto?

saludos!

Muchas Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:exportar a .txt los registros de un form

Publicado por Enrique (1299 intervenciones) el 28/05/2008 23:01:46
Copia esta Función y pégala en un Módulo nuevo, sin cambiar nada:
Function Crea_Fichero(ruta As String, rst As ADODB.Recordset) As Boolean
On Error GoTo Err_function
Dim Columna
Dim fila As Integer
Open ruta For Output As #1
rst.MoveFirst
For fila = 0 To rst.RecordCount - 1
Print #1, Trim(rst.Fields(0));
For Columna = 1 To rst.Fields.Count - 1
Print #1, "," & Trim(rst.Fields(Columna));
Next
Print #1, Chr(13) 'Crea una nueva línea por cada registro
rst.MoveNext 'Se mueve al siguiente registro
Next
Close #1
Exit Function
Err_function:
MsgBox Err.Description, vbCritical
Close
End Function
---------------------------------------------------------------------------------------------------------
Ahora en el Formulario las declaraciones de la conexión, del recordset y de la variable Filtro + dos Procedimientos de evento:

Option Compare Database
Private cnn As ADODB.Connection
Private rst As ADODB.Recordset
Dim FILTRO As String
Option Explicit

ESTO ES UNA SUPOSICION DE LA FORMA DE CAMBIAR EL ORIGEN DEL REGISTRO DEL FORMULARIO, SEGUN EL VALOR DEL CUADRO COMBINADO:
Private Sub Combo1_AfterUpdate()
FILTRO = "Select * From Tabla1 Where CampoClave ='" & Me.Combo1 & "'"
Me.RecordSource = FILTRO
End Sub

Y POR ULTIMO EL EVENTO CLICK DE UN BOTON DE COMANDO PARA CREAR EL ARCHIVO TXT CON LOS REGISTROS QUE MUESTRA EL FORMULARIO:
Private Sub CrearArchivo_Click()
Set cnn = Application.CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open FILTRO, cnn, adOpenStatic, adLockOptimistic
Call Crea_Fichero("C:Mi Fichero.txt", rst)
MsgBox "El Fichero se ha creado correctamente en C:", vbInformation, "Crear Fichero de texto"
rst.Close: Set rst = Nothing
cnn.Close: Set cnn = Nothing
End Sub

Te debe de crear un archivo de texto de nombre "Mi Fichero.txt" en el Disco C: con una línea por cada registro. Como verás, se usa la Referencia de ADO para hacer el trabajillo.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar