Newsgroup: it.comp.appl.access
Titolo: Gestione data/ora

Ciao a tutto il NG, avrei bisogno del vostro aiuto per risolvere un
problema:
Ho una base di dati in formato testo e ho necessità di fare delle
elaborazioni. Solitamente lavoro in Excel ma essendo questa troppo
grande eccede al max numero di celle che ha a disposizione il programma
e quindi devo ripiegare su Access che conosco un po meno.
Cerco di spiegarvi cosa mi occorre:
Partenza: 2 files in formato TESTO che contengono dei dati come da
esempio:
"TMSTAMP","RECNBR","O3_average"
"2006-09-01 00:01:00",298789,2.312
"2006-09-01 00:02:00",298790,2.112
"TMSTAMP","RECNBR","O3_average","O3_err"
"2006-09-05 11:00:00",2818,12.02,3
"2006-09-05 11:01:00",2819,-0.422,3
In pratica sono due files che provengono dallo stesso Logger che scrive
su uno o sull'altro in caso di errore o meno... registrando i dati ogni
minuto e indicando in caso di errore un codice che ne stabilisce il
tipo.
Cosa ho fatto: ho importato i files in due tabelle separate O3_DATA e
O3_ERRORS ciascuna formata dai campi
[TMSTAMP],[RECNBR],[O3_average]e[O3_err].
Ho creato una query per unire le due tabelle in una unica che contenga
tutti i dati.
SELECT * FROM O3_DATA UNION SELECT * FROM O3_ERRORS;
E gliela ho fatta creare chiamandola O3_ALL
SELECT * INTO O3_ALL FROM Query_SELECT_unione_tabelle;
Su questa tabella O3_ALL devo fare le seguenti operazioni:
- Individuare tutti i record che contengono la mezzanotte e modificare
la data in questo modo: dopo 02/09/2006 23:59:00 ho il record
03/09/2006 (e non visualizza il 00:00:00 dell'ora). Io devo invece
avere 02/09/2006 24:00:00
Come posso fare? Se imposto una query riferimento a O3_ALL con un campo
ChangeDay:[TMSTAMP]-1 mettendo come criterio Like "??/??/????" ottengo
i record della mezzanotte e accanto la colonna ChangeDay con la data
che mi serve. Se aggiungo un campo Ora: " 24.00.00" e unisco gli ultimi
due (ChangeDay e Ora) in un campo NewTMSTAMP ho quello che mi serve
ovvero la data nel formato 02/09/2006 24:00:00 solo che se uso la query
per creare una tabella NewTMSTAMP è formato testo e non data/ora e se
lo modifico perde i dati.
Spero in un vostro aiuto. Grazie.
TopoDiddl

 ha scritto nel messaggio 
news:1164121541.2...@h48g2000cwc.googlegroups.com...
Ciao a tutto il NG, avrei bisogno del vostro aiuto per risolvere un
problema:
Ho una base di dati in formato testo e ho necessità di fare delle
elaborazioni.
............
.........
Cosa molto importante, hai piacere che questi dati rimangano in txt? In questo caso direi che si 
potrebbe direttamente lavorare su di essi....
Michele

 Michele
I dati originali vengono salvati in formato .dat che è un file di
testo che utilizza la virgola come separatore come puoi vedere dalle
prime righe che ho postato.
Per importarli sono stati rinominati .txt formato supportato da Access.
Premesso che il Logger continua a lavorare in questo modo e non ho la
possibilità di modificare il programma di acquisizione ma ho solo
accesso ai dati mi sembra improponibile andare a lavorare su un file
con oltre 300000 righe senza possibilità di utilizzare filtri e quanto
altro.
Il cambio del giorno alla mezzanotte è solo un primo step per ovviare
a un errore concettuale di chi ha realizzato il programma di
acquisizione: i dati vengono registrati riportando l'orario (TMSTAMP)
di quando vengono scritti ma in realtà si riferiscono a quanto
registrato nel minuto prima. Mi spiego: l'acquisizione dalle 23:59:00
alle 00:00:00 viene registrata come 00:00:00 (primo record del giorno
successivo) mentre in realtà la misura è riferita al giorno
precedente.
Oltre a questo sono necessarie altre elaborazioni più complesse come
ad esempio riportare i valori da ogni minuto a valori ogni 30 minuti
facendo la media dei valori e il conteggio di quanti errori ci sono
stati in modo che se superano un certo tanto il dato in quella mezz'ora
deve essere considerato non attendibile.
Per questo è improponibile lavorare con files in formato testo.
Grazie comunque per l'interesse.
TopoDiddl