Newsgroup: it.comp.www.asp
Titolo: Campo calcolato in ore

Salve,
devo fare l'aggiornamento in ore in un database con asp
adesso mi fa l'aggiornamento ma solo in numeri
es. se inserisco nel campo spettante 1,30 e poi ancora 1,30 non mi da 3 ore
ma 2,6 spero di essere stato chiaro nell'esporre il problema.
Non so proprio cosa fare.
'Aggiunge al campo ovvero campo calcolato
end If
if Request.Form("spettante")<>"" then
 rsagg.Fields("spettante").value = rsagg.Fields ("spettante").value +
request.form ("spettante")
end If
if Request.Form("effettuata")<>"" then
 rsagg.Fields("effettuata").value = rsagg.Fields("effettuata")
end If
if Request.Form("rimanente")<>"" then
 rsagg.Fields("rimanente").value = rsagg.Fields("rimanente")-
rsagg.Fields("rimanente")
'Fine campo calcolato
Se aggiungo direttamente le spettanze in access (facendo i calcoli a mano)
li riesco a far visualizzare in questo modo
<% =FORMATNUMBER (rs.Fields("spettante"),2,-1,0,-1) %>
ma ad inserire trovo grande difficoltà
Grazie a chi vorrà aiutarmi
Saluti
Giuseppe

 Non so proprio cosa fare.
Ma io invece lavorarei proprio cosě! 
Se non addirittura in minuti (forse anche meglio).
Tu metti nel db 1,5 ore, pari a 1h 30 min.
Sta poi tutto nel lavoro di calcolo/conversione, sia per immettere i dati 
che per visualizzarli.
Se vuoi far inserire 1h 30 min, fai [1 + 30/60] che ti ritorna 1,5...per 
la visualizzazione, il processo inverso.

 Non so proprio cosa fare.
Il campo è in formato datatime?
--
AZ

 wrote in message
news:4RpE9.20296$
3l.5...@twister1.libero.it

No il campo è in formato Numerico, se lo metto come datatime 
mi da data e ora tutto insieme.
Ciao
Giuseppe
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mi da data e ora tutto insieme.
Dal campo datetime ti è sufficinete usare:
ora=time(rs("nome_campo_dataTime"))
Quindi usare le varie funzione del vbs, addhour, addseconds...
Cmq se mantieni il formato numerico devi creare una funzioncina che converta
in minuti la parte decimale... ad esempio...
valore=1,5 ' 1h e 30m
ora=fix(valore)
minuti=(valore-ora)*100/60
....
Ciao
--
AZ

 AZ
Tipo cosi?
<%ORA=
((fix(matr.Fields("spettante"))*60)+(matr.Fields("spettante")-FIX(matr.Field
s("spettante")))*100)-((fix(matr.Fields("effettuata"))*60)+(matr.Fields("eff
ettuata")-FIX(matr.Fields("effettuata")))*100)-((fix(rs.Fields("ore"))*60)+(
rs.Fields("ore")-FIX(rs.Fields("ore")))*100)%>
Sto leggendo quasi tutto l'help di access e di Vb, dammi uno squardo a
questo che ho scritto, intanto vado avanti e...
Grazie
Ciao
Giuseppe

 rs.Fields("ore")-FIX(rs.Fields("ore")))*100)%>
Appunto per questo devi usare un campo datetime...
--
AZ 

 rs.Fields("ore")-FIX(rs.Fields("ore")))*100)%>
Ma perché tutto questo calcolo se entrambe le ore sono memorizzate in 
formato numerico? Non ti conviene convertire solo il risultato quando devi 
visualizzarle?
Ciao
--
AZ 

 AZ
Scusa ma quando devo aggiungere le ore come faccio? per la visualizzazione
non ho problemi infatti le visualizzo correttamente č solo quando le devo
inserire che ho il problema.
se ho 1.30 e ggiungo 1.30 non mi da 3.00 ore ma 2.60
Spero che sono stato piů chiaro nell'esporre il problema.
Ciao
Giuseppe

 Giuseppe
Intendevo nel caso tu memorizzassi l'ora in formato decimale:
1h e 30 min=1,50
2h e 45 min=2,75
....
Nel caso della somma di 90 minuti:
1,50+1,50=3h
Questo puň essere un modo per memorizzare l'ora e per elaborarla, solo 
quando la visualizzerai dovrai fare delle conversioni *al volo*.
Ciao
--
AZ