Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Conteggio records in una arco temporale (ora)

11 views
Skip to first unread message

n...@operamail.com

unread,
Nov 22, 2009, 10:30:40 AM11/22/09
to
Chiedo il vostro cortese aiuto.

Ho una tabella con 2 campi :
ID (numerico)
IN1 (data/ora)

In sostanza cosi :
ID IN1
156154 02/10/2009 10.20.58
156239 02/10/2009 14.25.45
156240 02/10/2009 14.25.58
156244 02/10/2009 14.47.08
156247 02/10/2009 14.57.46
156494 05/10/2009 9.35.39
156495 05/10/2009 9.39.10
156499 05/10/2009 9.45.42
156667 05/10/2009 16.37.52
156669 05/10/2009 16.44.32
156670 05/10/2009 16.47.27
156671 05/10/2009 16.52.34
156672 05/10/2009 16.55.27
156802 06/10/2009 10.30.28
156803 06/10/2009 10.31.11
156804 06/10/2009 10.36.25
156807 06/10/2009 10.42.24
155887 01/10/2009 0.21.58
155888 01/10/2009 0.56.46
155893 01/10/2009 8.22.48

Vorrei poter contare il numero di records in un preciso arco
temporale.
Cioè :
numero records tra le ore 10.00 e le ore 17.00 = tot (a prescindere
dalla data associata, in pratica solo ora)

Ho provato a convertitre il campo IN1 in formato ora estesa ed
impostando il criterio :
between 10.00 AND 17.00 , ma non funziona.

Grazie infinite per l'aiuto.


almorel

unread,
Nov 22, 2009, 12:28:03 PM11/22/09
to

Ciao
devi usare la funzione DatePart che ti consente di estrarre i vari
elementi di data/ora.
Alberto

n...@operamail.com

unread,
Nov 22, 2009, 4:19:29 PM11/22/09
to

grazie per la risposta.
Ma nello specifico come dovrei fare ?
Ma scusa poi DatePart permette solo di separare la data dall'ora ,
giusto?

almorel

unread,
Nov 23, 2009, 7:38:57 AM11/23/09
to


Ciao,
no, puoi scegliere qualsiasi elemento:

yyyy Anno
q Trimestre
m Mese
y Giorno dell’anno
d Giorno
w Giorno della settimana
ww Settimana
h Ora
n Minuti
s Secondi


quindi:

datepart("h",TuaData) between 10 and 17

OK ?
Alberto

n...@operamail.com

unread,
Nov 24, 2009, 4:14:43 PM11/24/09
to

Grazie , funziona ma mettendo il ;(punto e virgola) tra "h"e
campodata.

Mi chiedevo se fosse possiible raffinare il risultato prodotto dalla
funzione DatePart.
In pratica :
- se fosse possibile impostare il criterio della query affichè possa
restituire anche frazioni di ora.

Cioè in pratica DatePart restituisce l'intero dell'ora (se ora =17:25
-->DatePart restituisce :17),
è possibile agire sul livello di precisione del risultato ?
In pratica se voglio visualizzare i records associati all'arco
temporale : 17:15 - 19:25 , come potrei fare?
grazie molte.


almorel

unread,
Nov 25, 2009, 6:54:51 AM11/25/09
to

Ciao

DatePart vuole il ';' nelle query e nei controlli. Se lo usi nel
codice vuole ',' (come per tutte le funzioni).

Ciò premesso, se guardi l'help della funzione, vedi che puoi
identificare i minuti con "n".

Però devi fare una query tipo questa:

SELECT Count(Turni.Turno) AS ConteggioDiTurno
FROM Turni
WHERE (((DatePart("h",[Data]) & "." & DatePart("n",[Data])) Between
"12.10" And "12.20"));

perchè l'argomento filtro sarebbe troppo complicato per la funzione
Dcount

"12.10" può diventare [Da orario hh.mm]
"12.20" può diventare [A orario hh.mm]

Puoi leggere il risultato della query con la funzione Dlookup.

Chiaro ?
Alberto

n...@operamail.com

unread,
Nov 25, 2009, 4:17:41 PM11/25/09
to

Funziona perfettamente...
Sei un genio!
Grazie infinite.

0 new messages