Newsgroup: it.comp.appl.access
Titolo: Calcoli con dati in tabelle collegate in un progetto ADP

Ciao a tutti,
                ho i seguente problema che dopo svariati
tentativi ho cosě sintetizzato:
Sto aggiornando il mio db da mdb a adp; in questo db avevo delle tabelle 
collegate (tali tabelle risiedono a loro volta in un db access 97, io sto 
usando un progetto adp versione access 2002).
Ora sono riuscita a collegare le tabelle; nel mio progetto le vedo sotto 
forma di query; c'č una tabella in particolare che mi sta dando problemi:
Su tale tabella eseguo la seguente query
 SELECT *, DATCH-DATAP AS DURATA
 FROM Templa1...TEMLAV TEMLAV_1
il campo durata viene calcolato esattamente.
Ora se in un report vado a sommare il campo durata (casella di testo a pič 
di pagina report =somma(durata)) compare il seguente errore:
"Data type of the child for Sum, Average,or Standard Deviation aggregate
column (__agg0) must be numeric."
Ora se le medesime operazioni le eseguo invece che da un progetto adp su un 
db normale mdb non ho errore
qualcuno sa dirmi se č un buco se ho commesso qualche errore e possibilmente 
dove?
Grazie a tutti 

 ha scritto nel messaggio
news:43be75e6$0$1061$4faf...@reader2.news.tin.it...

Ciao Romana,
non c'č nessun buco, il fatto č che il tipo di dato DataOra non puň essere
inserito nelle funzioni di aggregazione.
----
SUM
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_setu-sus_414d.asp
----
Per risolvere puoi fare cosě:
Aggiungi alla tua query un campo calcolato che rende il numero di secondi
della durata
----
SELECT *, DATCH-DATAP AS DURATA,
       DATEDIFF(s, '19000101', DATCH - DATAP) AS SDURATA
 FROM Templa1...TEMLAV TEMLAV_1
----
poi nel pič pagina del report lo puoi sommare e rappresentare in questo modo
----
=Int(Somma([SDURATA])/60/60) & ":" &
Format(Somma([SDURATA])/24/60/60;"nn:ss")
----
ps. si potrebbe anche convertire il valore della durata nel corrispondente
numero seriale
----
Convert(Float,DATCH-DATAP) AS SerialeDurata
----
per poi applicare le conversioni tipiche usate con access
----
=Int(Somma([SerialeDurata])*24) & ":" &
Format(Somma([SerialeDurata]);"nn:ss")
----
ma la natura del campo float rende questo sistema impreciso, in una somma di
molti record potresti trovare risultati inaspettati.
Ciao
-- 
Giorgio Rancati
[Office Access MVP]

 ha scritto nel 
messaggio news:43beaab9$0$332$5fc...@news.tiscali.it...

Infinite grazie, tale problema mi assillava da diverso tempo, domani 
proverň!
Mi chiedo per una come me che da db mdb sta passando
a progetti esistono manuali che spiegano le differenze?
ciao e ancora grazie! 

 ciao e ancora grazie!
Ciao Romana,
non so se c'è un manuale che spiega tutte le differenze (io non ne ho mai
usati),
Puoi partire da qui
----
Spostamento di un database di Access 2002 su SQL Server
http://www.microsoft.com/italy/msdn/library/default.asp?url=/italy/msdn/library/servers/sql/sqlbackend.htm
----
un valito aiuto è la Kb di microsoft 
http://support.microsoft.com/search/
 se
provi a cercare *How To ADP*  troverai molti articoli che potranno esserti
di aiuto.
è comunque indispensabile avere il manuale di Sql Server che puoi scaricare
da qui.
----
Aggiornamento di gennaio 2004 della documentazione in linea di SQL Server
http://www.microsoft.com/downloads/details.aspx?FamilyId=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=it
----
