Media in access sulle date

lunedì 11 settembre 2006 - 15.36

Corrado Profilo | Newbie

Devo fare una media sulla durata di un servizio:
ho la data di presa in carico del servizio, e la chiusura di tale servizio,
e per ogni tecnico voglio avere una stima media del tempo di lavorazione. Ma
con le date mi sta dando parecchi problemi. Sul DB le date sono memorizzate
con formato YYYY-MM-GG e per questo non mi fa usare la sottrazione semplice.
Converto le date con la funzione CDate che me la converte in GG-MM-YYYY e
quindi riesco ad avere la durata in giorni, ma quando vado ad aggregare per
nome tecnico e usa la AVG mi risponde
"tipo di dati non corrispondenti all'espressione"
ho provato anche a convertirli in interi con CInt ma niente
sapete aiutarmi?

la struttura della query è la seguente

SELECT x.tecnico, AVG(CDate(x.Fine)-Cdate(X.Inizio))
FROM X
GROUP BY x.tecnico

Grazie

MarKonE Profilo | Guru

Puoi usare la funzione DateDiff :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctdatediff.asp

Vedi anche questo esempio :
http://www.techonthenet.com/access/functions/date/datediff.php

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

Corrado Profilo | Newbie

ho individuato forse il problema.
i campi data, non so perchè, sono stati salvati come campo testo, faccio la datediff, ma poi non mi fa usare le funzione aggregate.
Ho provato anche a convertirli con CInt, ma niente....
avete idee?

lbenaglia Profilo | Guru

>ho individuato forse il problema.
>i campi data, non so perchè, sono stati salvati come campo testo,
>faccio la datediff, ma poi non mi fa usare le funzione aggregate.
>Ho provato anche a convertirli con CInt, ma niente....

Posta la struttura della tabella (nome delle colonne e data type), alcune righe di prova ed il risultato che vuoi ottenere da quei dati.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

MarKonE Profilo | Guru

Hai provato con CVar ?

Se guardi qui : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctdatediff.asp

Dice che la funzione DateDiff necessità di due date Variant :
date1, date2 Required; Variant (Date). Two dates you want to use in the calculation.

Ciao
My Blog... http://blogs.dotnethell.it/Mark/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5