Intento importar 100 o más archivos de texto a una simple tabla para access con dos campos, el primer campo para el nombre del archivo y el segundo campo (memo) para el texto que contiene el archivo *.txt. ¿Es esto posible con alguna macro o con algún código?
Es posible hacerlo, bien desde el mismo Access (editor de Macros), o con un script externo, en VBS (que es el lenguaje que también suan las macros en access). Yo nunca programo desde Access, así que te explico la segunda. Necesitas usar dos objetos fundamentalemente: 1. FileSystemObject (FSO). Para abrir los archivos y leer su contenido 2. Activex Data Objects (ADO). Para hacer los updates en la tabla que quieres.. Este ejemplo debería funcionar (pero debes revisarlo, porque no lo he probado y puede haber algún fallillo, más que nada es para que veas como lo haría yo...). Cópialo en un fichero y lo nombras con extensión .vbs, haciendo doble click lo ejecutas: '------------------------ 'PRINCIPO '------------------------ Dim File, fso, ts Set fso = CreateObject("Scripting.FileSystemObject") 'en este array metes todos los nombres de archivo, se podria cargar automaticamente con el propio objeto FSO (*.txt) dim archivos archivo(0)="primer_archivo.txt" archivo(1)="segundo_archivo.txt" '... 'preparo la conexion a la BD '--------------------------- set conexion = CreateObject("Adodb.connection") 'la linea siguiente supone que previamente has creado un dsn (en panel de control, odbc data sources) que apunta a tu base de datos 'Se puede hacer sin dsn, directamente especificando el archivo MDB, pero no recuerdo la sintaxis conexion.connectionstring("DSN=DSNdeTuBaseDeDatos") conexion.open for i = 0 to ubound(archivos) 'leo el contenido del archivo Set File = fso.GetFile(archivos(i)) Set ts = File.OpenAsTextStream(ForRead) Contenido=ts.readall ts.Close 'grabo en la bd este nombre de archivo,Archivos(i) y su contenido (Contenido) sql="Insert Into NombreDeTabla (Nombre,Contenido) VALUES ('" & archivos(i) & "','" & contenido &"')" conexion.execute sql next conexion.close set conexion = Nothing Set fso = Nothing Set ts = Nothing '--------------------- 'FIN '---------------------