Importare da file .TXT

di il
4 risposte

Importare da file .TXT

Salve, ho un problema da risolvere!
Devo importare dei dati da file .TxT di diverso nome, questi file vengono generati da una macchina nel modo seguente:
MEDIAS_1670_L3_20170527.txt
MEDIAS_1670_L2_20170527.txt
MEDIAS_1670_L1_20170527.txt

comepotete vedere "L1,L2,L3" indicano la macchina di seguito la data di creazione "20170527"
ne viene generato uno al giorno per ogni macchina contenente dei parametri, di questi file ne ho circa 400 da inserire in un database acces mi potreste aiutare ad creare un importazione automatica che rilevi ogni file e lo importi o colleghi in modo automatico?
Grazie in anticipo

4 Risposte

  • Re: Importare da file .TXT

    Francesco231070 ha scritto:


    ...
    comepotete vedere "L1,L2,L3" indicano la macchina di seguito la data di creazione "20170527"
    ...
    Li devi caricare tutti nella stessa tabella? Hanno tutti la stessa struttura? devi memorizzare da qualche parte la data e/o la macchina che li ha generati? In base alle risposte mi regolo per i suggerimenti.
  • Re: Importare da file .TXT

    Va bene anche in una sola tabella i parametri sono questi:

    12:00,3,1,5994,118,5,73,12.27,1166.02,5.85,219.36,177.99,2.00,3.12,1707.59,10.29,-25.02

    come vedi dopo l'ora (campionamento ogni 10 minuti)mi mette il numero della macchina e man mano i parametri con campi limitati dalle ","
    avevo immaginato questa tabella :
    data ora macchina ec...
    20170527 12:00 L3

    grazie
  • Re: Importare da file .TXT

    Francesco231070 ha scritto:


    ...
    avevo immaginato questa tabella :
    data ora macchina ec...
    20170527 12:00 L3
    Se ti limiti ad importare il file così com'è è sufficiente usare il metodo richiamando un'apposita specifica di importazione.
    Se invece inizi a voler aggiungere altre informazioni la cosa si fa più articolata.
    In ogni caso , ipotizzando che tutti i file si trovino in una determinata cartella e che tu voglia fare un'importazione massiva devi prima imparare a "ciclare" i file presenti. Attraverso questa procedura sai anche il nome del file e con la funzione Mid$ per trovare il nome della macchina e la data.
    E' qui che cambia il codice in base alla scelta di cui sopra: se passare semplicemente il nome del file al metodo DoCmd.TransferText oppure leggere il file e "processarne" il contenuto per salvarlo nella tabella oltre alle informazioni Data e Macchina. Macchina, in realtà, non sarebbe necessariamente un'informazione da prendere dal nome del file visto che già nel testo è presente un campo, seppur "parziale" che identifica la macchina (3 anziché L3).
    E' un po' noiosa da scrivere ma relativamente semplice.
    Se utilizzi sempre lo stesso percorso in cui posizionare i file da caricare, ricorda di cancellarli (o spostarli) alla fine, altrimenti ogni volta ricarichi tutto.
    Alcuni thread che hanno già trattato l'argomento
    https://www.iprogrammatori.it/forum-programmazione/access/importare-piu-file-txt-insieme-t13941.html
    https://www.iprogrammatori.it/forum-programmazione/access/creare-unica-tabella-aggiornata-con-piu-file-csv-t22824.html
    https://www.iprogrammatori.it/forum-programmazione/access/file-csv-importati-una-tabella-tramite-vba-t22131.html
  • Re: Importare da file .TXT

    Francesco231070 ha scritto:


    ...mette il numero della macchina e man mano i parametri con campi limitati dalle ","
    Ho dato per scontato che il file sia diviso in righe, che ogni riga inizi sempre con l'ora e il numero della macchina e prosegua con lo stesso numero di campi. Se così non serve una spiegazione più ampia del contenuto del file. Qual è il significato di ogni campo? Questo per capire se devono essere usati campi diversi o sempre lo stesso campo, aggiungendo solo record, anche all'interno della stessa riga.
Devi accedere o registrarti per scrivere nel forum
4 risposte