Alla fine questo è il codice SQL sistemao:
SELECT TBL_Registrazioni.ID_Registrazioni, TBL_Registrazioni.ID_Anagrafica, TBL_Registrazioni.Id_Sede,
DateDiff( 'd' ,IIf(datain<[DT_DAL],[DT_DAL],DataIn),IIf([DT_AL]<=DataIn,DataOut,IIf([DT_AL]<=DataIn,DataOut,iif(dataout > [DT_AL] ,[DT_AL] ,DataOut)))) AS ['Days Result']
FROM TBL_Registrazioni
WHERE (((TBL_Registrazioni.DataIN)>=[DT_DAL])) OR (((TBL_Registrazioni.DataOUT)<=[DT_AL]));
Adesso me la devo studiare un pò in tutte le condizioni perché mi restituisce dei dati non corretti.
In TBL_Registrazioni ho i seguenti dati:
- 1 1 1 03/01/2022 15/01/2022
2 1 2 16/01/2022 20/08/2022
3 1 1 21/08/2022
4 3 1 01/07/2022
5 3 1 03/01/2022 25/02/2022
6 3 2 05/10/2022 12/10/2022
Inserendo come criteri di ricerca 01/01/2022 e 31/01/2022 ho come risultato:
12,15, , , 28,7
I primi 4 risultati sono giusti, gli ultimi due no.
Grazie a tutti.