¿Existe algún método sencillo para pasar el resultado de
una consulta sobre
una bd en access a un fichero de texto?
ENRIQUE MARTINEZ
================
Sí existe. Para ello tienes que utilizar el Método de Acceso Secuencial
Indexado (ISAM) de texto del motor de base de datos Microsoft Jet.
El siguiente ejemplo, crea un archivo de texto delimitado por punto y coma
(;) «Clientes.txt» con todos los registros de la tabla «Clientes», mediante
la biblioteca de ADO. Adáptala a tu consulta SQL:
Dim cnn As New ADODB.Connection
' Establezco la conexión con la base de datos actual
With cnn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\bd1.mdb;"
.Open
' Exportamos la tabla a un archivo de texto
.Execute "SELECT * INTO [TEXT;DATABASE=" & CurrentProject.Path & "].Clientes.txt FROM Clientes"
.Close
End With
Si el resultado de tu consulta devuelve tipos de datos «DateTime»,
«Currency» o «Decimal», necesitaras crear previamente un archivo de
configuración de esquema «Schema.ini». Si deseas información sobre dicho
archivo, busca en la Knowledge Base por «Schema.ini»
Siguen preguntando.....
¿Cómo puedo hacer para separar los campos por comas? También hay algunos
campos que no quiero grabar en el fichero .txt y que en su lugar tengo que
poner un punto y coma. Me imagino que para poder hacer esto tengo que
hacerlo a mano.
RESPONDE ENRIQUE MARTINEZ
=========================
¿Y tiene que ser comas? Las "comas" dan problemas con el símbolo decimal de
la configuración del Panel de Control, por tanto, en una configuración
regional de Español, tendrás que cambiar previamente el signo decimal.
Para eso, tienes que utilizar el archivo de esquema «Schema.ini». Crea un
simple archivo de texto y guárdalo en la carpeta de la aplicación con el
nombre «Schema.ini». Escribe en el archivo éstos parámetros:
[Clientes.txt] --> El nombre del archivo de texto
Format=CSVDelimited --> delimitados por comas
> También hay algunos campos que no quiero grabar en el
> fichero .txt y que en su lugar tengo que poner un punto y
> coma.
En cuanto a los campos que deseas grabar, depende de los campos que
selecciones en la consulta SQL.
En cuanto a poner un «punto y coma» en su lugar, creo que no lo vas a poder
hacer. Por lo menos, yo desconozco si hay alguna forma de hacerlo.
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)