Newsgroup: it.comp.appl.access
Titolo: Somma minuti e secondi

Salve a tutti ho un piccolo quesito , ho un file di testo dove ho
circa 2000 informazioni da inportare su mdb , con una serie di campi
(incolonnati e separati da uno spazio) tra cui c'è un campo di minuti
e secondi che quando lo vado ad importare mi risulta essere "23.45.00"
dove 23 sono i minuti e 45 sono i secondi. Adesso se voglio sommare
non ci riesco perchè Access li riporta come ore e quindi li calcola
00/24.
Ho pensato di dividere il campo ma non so come automatizzare i
precedenti 2000 record.
Qualcuno sa come aiutarmi?
Grazie a tutti

 Grazie a tutti
Se il campo di tipo testo che contiene l'orario espresso nella forma
Minuti.Secondi.00 si chiama OrarioTesto e la tabella che contiene i dati si
chiama Tabella1, aggiungi alla struttura di Tabella1 un campo di tipo
Data/ora e chiamalo OrarioMinutiSecondi.
Per valorizzare per ogni record il campo OrarioMinutiSecondi, esegui una
query di aggiornamento che abbia il seguente codice SQL:
UPDATE Tabella1 SET Tabella1.OrarioMinutiSecondi =
TimeSerial(0,Val(Left([OrarioTesto],2)),Val(Mid([OrarioTesto],4,2)));
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Ok funziona riesco ad avere i due campi in modo distinto , ho dovuto
cambiare in
UPDATE Tabella1 SET Tabella1.OrarioMinutiSecondi =
TimeSerial(0,Val(Left([OrarioTesto],2)),Val(Mid([OrarioTesto],3,2)));
perchè non mi prendeva tutti i secondi però quando vado a fare la
somma non funziona ,mi da sempre un valore sqallato.
Uso la seguente formula 
Totale tempo: Somma([pluto].[Orario])
Ciao e grazie

 Ciao e grazie


Se io volessei dividere un solo campo in due in due distinti campi, in
modo da avere il campo minuti ,da moltiplicare * 60 ed avere i
secondi, ed il campo secondi è possibile?
Come dovrei modificare la formula?
 UPDATE Tabella1 SET Tabella1.OrarioMinutiSecondi =
 TimeSerial(0,Val(Left([OrarioTesto],2)),Val(Mid([OrarioTesto],3,2)));
 Ciao e grazie

  Ciao e grazie
Prova cosě:
UPDATE Tabella1 SET Tabella1.Minuti = Val(Left([OrarioTesto],2)),
Tabella1.Secondi = Val(Mid([OrarioTesto],3,2));
Naturalmente Minuti e Secondi sono due campi di tipo Numerico contenuti in
Tabella1.


OK adesso riesco ad avere le due colonne con i due campi distinti, ma
quando vado a fare la somma dei minuti tutto ok ma la somma dei
secondi ottengo 358 , se divido per 60 ottengo i minuti ,ma come
faccio a sommarli all'altra query con la somma dei minuti?

 OK
OK COSA?
Lo vogliamo lasciare parte del messaggio a cui rispondi (Quoting) per capire
di che si tratta?
E scrivendo poi DOPO il quoting?!?!
Antonio

  Ciao e grazie
Prova cosě:
UPDATE Tabella1 SET Tabella1.Minuti = Val(Left([OrarioTesto],2)),
Tabella1.Secondi = Val(Mid([OrarioTesto],3,2));
Naturalmente Minuti e Secondi sono due campi di tipo Numerico contenuti in
Tabella1.
Ora che ho ottenuto i campi distinti , minuti  e secondi, li devo sommare.
Quando faccio la somma mi capita di avere 52 minuti e va bene  e poi ho 358 secondi.
Come faccio ad avere una somma di 57 minuti e 58 secondi?

 ha scritto nel messaggio
news:12a1d222.03052...@posting.google.com...

La cosa migliore in questi casi è avere un solo campo chiamato Secondi che
puoi popolare con la seguente query di aggiornamento:
UPDATE Tabella1 SET Tabella1.Secondi = Val(Mid([OrarioTesto],3,2)) +
Val(Left([OrarioTesto],2))*60;
Fai la somma del campo Secondi; dividi la somma dei secondi per 60: la parte
intera del risultato della divisione rappresenta la somma dei minuti; dal
resto di questa divisione ottieni la quota dei secondi della somma (ti
ricordo che il resto di una divisione lo si otiene con l'operatore Mod, vedi
help).
Però non capisco perché fai tutto 'sto macello e non percorri la strada
indicata nel thread dell'11/5/2003 ore 22:32, come ti ho suggerito nel mio
messaggio del 18/5/2003.
