Exportar una tabla de access a *.txt con formato fijo

Estoy intentado pasar una tabal en access que la genero a través de una consulta, a un archivo de texto *.txt. La tabla en access tiene diversos campos tipo texto y tipo numero. Con los de tipo texto no tengo problemas ya que se exportar a la izquierda dejando espacios en blanco hasta completar el tamaño, pero con los campos de numero quiero que se rellenen con 0 a la izquierda hasta completar el ancho del campo, esto es algo que no consigo. En la tabla en access, en los campos tipo numero he puesto formato 000 y cuando hago la consulta en la tabla aparecen correctamente pero al exportarlos al archivo de texto no se exportan como quiero, por ejemplo, si es un 1, en la tabla veo 001 pero al exportarlo veo 1 y 2 espacios en blanco, ¿cómo lo puedo solucionar? Si pongo el campo tipo texto y pongo formato 000, en la tabla solo me sale el 1 sin los 0 delante.

1 respuesta

Respuesta
1
El access no te da opción para que aparezca con ceros a la izquierda. Puedes cambiar la filosofía del fichero y que aparezcan separados por un carácter limitador.
Si no te sirve, lo único que puedes hacer es crearlo por código de visual basic en un modulo, escribiendo en un fichero, y así le puedes dar el formato que quieras
Muchas gracias por la respuesta. ¿Esto qué me dices de hacerlo con un modulo en visual basic como se haría? La verdad que no he trabajado mucho con el visual y voy un poco perdido en este tema. Muchas gracias.
Generas un modulo nuevo de access, y dentro creas la función de exportar
Dentro de la función lees en un recordset el contenido de la tabla y vas generando el fichero de texto con el formato que quieras.
Es muy fácil, si no lo consigues me lo comentas.
Puedes crearte un formulario donde selecciones la tabla y el path del fichero que quieres generar, y al pulsar un botón te exporte los datos.
Hola, disculpa pero no consigo solucionar ni realizar el archivo de texto mediante un modulo de visual basic. Mi programa lo que tiene que hacer, es leer una información de un albarán dentro de nuestro erp y después transfórmalo a un archivo de texto con un ancho fijo. ¿Cómo lo puedo hacer? ¿Tienes alguna otra sugerencia aparte de como te decía yo? Gracias.
Pones en el form un botón que sea exportar a txt, y en el evento al hacer click pones generar código y le pones dentro un código como el que te pongo:
Dim k As Integer
Dim sFichero as string 'este sera el path con el nombre del fichero ejemplo c:\Albaran.txt
Dim lsReg As String
sfichero = "c:\Albaran.txt"
 k = FreeFile
dim sLinea as string 'en esta variable tendras que poner los datos con la longitud que te interese
'esto es solo un ejemplo, tu tienes que cambiarlo por tus campos de pantalla y la longitud que quieras
sLinea = right("0000000000" & me.numeroalbaran, 10)
sLinea = slinea & left(Me.CodigoCliente & "                                         ",20)
'asi vas añadiendo uno por uno los campos con el relleno y la longitud que quieras
'si quieres eliminar el fichero por si exite, si no lo eliminas la añade al fichero
if dir(sfichero,vbArchive)<>"" then
kill sfichero
end if
'ahora grabamos la linea
Open sFichero For Append Shared As #k
Print #k, sLinea
Close #k

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas