SI!
ho modificato mettendo un campo anno derivato da DATA e messo una finestra per filtrare la query su anno.
codice:UNO SELECT REPORT.Serial, REPORT.ID_apertura, REPORT.STATO, REPORT.[data richiesta], REPORT.[DATA AUTORIZZAZIONE], REPORT.[data chiusura], DATA_ANALISI.DATA, Year([DATA]) AS ANNO FROM REPORT, DATA_ANALISI GROUP BY REPORT.Serial, REPORT.ID_apertura, REPORT.STATO, REPORT.[data richiesta], REPORT.[DATA AUTORIZZAZIONE], REPORT.[data chiusura], DATA_ANALISI.DATA, Year([DATA]) HAVING (((REPORT.STATO)="chiusa") AND ((REPORT.[DATA AUTORIZZAZIONE])<[DATA]) AND ((REPORT.[data chiusura])>[DATA]) AND ((Year([DATA]))=[Digita l'anno di analisi])); DUE SELECT UNO.[DATA], Count(UNO.[ID_apertura]) AS PRESENZE FROM UNO GROUP BY UNO.[DATA] ORDER BY UNO.[DATA]; TRE SELECT Count(DUE.DATA) AS [CONTA GIORNI], Min(DUE.PRESENZE) AS MINIMO, Max(DUE.PRESENZE) AS MASSIMO, Avg(DUE.PRESENZE) AS MEDIA FROM DUE;
super marino51!
@sbs, la clausola che avevo inserito nella query come AND NOT (.....
l'hai semplificata in,
codice:AND ( REPORT.[DATA AUTORIZZAZIONE] < [DATA] AND REPORT.[data chiusura] > [DATA] )
che in linea di principio va bene, ma fai attenzione,
se [DATA AUTORIZZAZIONE] = [DATA] non la cansideri, a mio avviso andrebbe aggiunta la condizione uguale
lo stesso vale per [data chiusura] = [DATA]
a meno che, tu ritieni sia giusto escluderle per ragioni che non conosco
considera anche che la semplificazione é valida solo con [DATA], se per caso, avessi avuto [DATA 1] e [DATA 2], diverse tra loro,
la query con la clausola semplificata non avrebbe più funzionato (ma é un altro ragionamento)
Ultima modifica di marino51; 12-06-2021 a 14:20
Giusta considerazione! modificato conil risultato logicamente è cambiato!codice:AND ((REPORT.[DATA AUTORIZZAZIONE])<[DATA] Or (REPORT.[DATA AUTORIZZAZIONE])=[DATA]) AND ((REPORT.[data chiusura])>[DATA] Or (REPORT.[data chiusura])=[DATA]) AND ((Year([DATA]))=[Digita l'anno di analisi]));
CONTA GIORNI MINIMO MASSIMO MEDIA 365 1 14 6,03013698630137
Questa devo dirti non l'ho capita!