Importar varios *.txt de varias carpettas a MS ACCESS

Es tarde y el tiempo corre en mi contra. A var si alguien puede ayudarme.
Tengo varios *.txt (formato NOMBREAÑO.txt) con datos de clima. Estos ficheros tienen encabezdos distintos pero que se repiten entre estos campos siempre seguidos (hay fechahora; Temperatura máx 2m ºC; Temperatura mín 2m ºC; Precipitación acumulada l/m2; Temperatura med 2m ºC; Humedad relativa med 2m %; Humedad relativa máx 2m %; Humedad relativa mín 2m %; Radiación global w/m2; Velocidad media viento 2m m/s; Dirección viento 2m (MODA) º; Velocidad racha máx 2m m/s; Dirección racha máx 2m º; Insolación total s). Los registros (filas) son diarios con el formato DD/MM/AAAA.
El caso es que quisiera importar a una tabla ACCESS estos datos y que se rellenen solo los campos que toquen y con un campo NOMBRE que lea del nombre del fichero. Además, si un *.txt solo tiene 4 campos que solo rellene los 4 campos en questión más el campo de NOMBRE que habrá leído en el nombre del fichero.
Pero aun hay más, me iría bien que no solo importase los valores de los *.txt (de echo no necesito los valores), sino que también (lo que realmente necesito) que haga la SUMA de cada mes MM (aquí se podría mirar cuando cambia el MM) para el campo "Precipitación acumulada l/m2" y el PROMEDIO para el resto de campos. Lo mismo para cada año (AAAA). Pero ésta operación (la de suma y promedio) solo cunado no falten datos del campo en cuestión y del período (MM o AAAA).
Finalmente, los archivos están en carpetas distintitas.
No sé si es mucho pedidir pero quizás haya alguien que pueda ayudarme con este problema. Lo he probado manualmente pero es imposible.

1 respuesta

Respuesta
1
Lamento comentarte que lo que me pides es bastante complicado, e incluso, aunque tuviera todos los datos delante, no sé si sería capaz de realizar lo que pides.
Debo admitir que tu consulta supera mis conocimientos. Quizá te pueda echar un cable otro experto, a ver si hay suerte.
Lo siento mucho. :(
Muchas gracias por tu pronta respuesta.
Cual sería la parte complicada:
- La de importar los datos (sin cálculos) de los archivos *.txt de las distintas carpetas, con los campos que toquen y en cada registro necesitaría uncluir el NOMBRE extraído del fichero, ¿y el AÑO (puede extraerse del campo fechahora del *txt) y el MES (lo mismo que para el año)?
- ¿Realizar la SUMA y PROMEDIO como comento?
- O, ¿Descartar las acciones anteriores con la condición NO COMPLETO?
Como para mi todo es complicado, no sé cual sería la parte complicada. Ni que sea una respuesta parcial, me ayudaría a avanzar en la importación. Una pasito es un pasito.
Muchas gracias de nuevo y un saludo.
Lo que sería complicado sería crear un sistema automatizado que realizara todo lo que pides.
Puedo indicarte un sistema "manual" para hacerlo (lo cual, si tienes muchos archivos, es una "matada"), pero se debe tener en cuenta que:
- Desconozco cómo te quedarían los datos en la tabla.
- Desconozco cómo te quedarían los tipos de datos en la tabla
- Desconozco si alguno de los datos, al añadirlo a la tabla procedente de diferentes txt, entraría en conflicto con la definición de datos de la tabla.
- El tema de incluir el nombre en un campo de la tabla, con código, no sé cómo podría hacerse.
Dicho esto (con un optimismo desbordante ;) una hipotética solución manual sería la siguiente:
- Importas manualmente desde Access el primer txt
- Revisas la estructura de la tabla, de manera que los campos importados se correspondan con sus tipos (es decir, si un campo es una fecha, que el tipo de campo sea fecha).
- Añades un nuevo campo que te recoja el nombre del fichero. Supongamos que lo llamas "NombreFi"
- Creas, sobre esa tabla, una consulta de actualización de datos, cogiendo sólo el campo "NombreFi". Cuando te salga, en el grid, la línea "Actualizar a" le pones el nombre del fichero.
- Repites el proceso con todos los txt, dejándolos a todos con la misma estructura de tabla.
- Coges una de las tablas que tengas, que será la tabla "madre", y que será la que te recogerá la información global.
- Creas una consulta de datos anexados con la tabla del primer txt. Le dices que quieres anexar los datos a la tabla "madre". Estableces las relaciones entre los campos de ambas tablas (en el grid, "Anexar a". La ejecutas.
- Modificas esa consulta quitando la tabla que incluiste y añades la tabla del segundo txt. La ejectuas.
- Repites este proceso para todas las tablas restantes.
Ahora, si no ha saltado ningún error, tendrás una tabla "madre" que recogerá, en una sola, la información de todas las tablas.
Respecto de lo que comentas de suma y promedio esto ya es fácil de hacer cuando tienes la tabla "madre" con todos los datos. Según cómo sea la tipología de los datos puedes hacer los cálculos de suma y promedio a través de una consulta de totales (agrupando el valor a calcular por suma o por promedio). Si los datos no son los adecuados para una consulta ya debería programarse a través de código.
Bueno.
Estamos en contacto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas