Salve,
sto formulando un database con Access che deve gestire diversi sottoperiodi definiti dall'utente (data inizio e data fine) nell'ambito di un periodo che ha una sua data inizio ed una sua data fine.
Esempio:
Periodo: (inizio) 01/01/2013 - (fine) 31/12/2018
sottoperiodo1: i 01/02/2013 - f 31/03/2013
sottoperiodo2: i 01/08/2013 - f 01/09/2013
sottoperiodo3: i 01/12/2013 - f 31/01/2014
sottoperiodo4: i 01/01/2016 - f 31/12/2018
.....
sottperiodo n: .....
Ho una query di accodamento che deve scrivere i records che abbiano il campo data (ricavata tramite Dateadd) SOLO se compresa in uno dei sottoperiodi.
Per il momento la query che ho realizzato tiene conto solo del periodo.
--------
INSERT INTO tblCalendario ( ID_Immobile, ID_Commessa, ID_Precedente, Datai, ID_Elemento, Cod_Elemento, ID_Censimento, AbbreviazioneFreq, Frequenza, Intervallo, [Note], Start, Scheda, Impiego, x, Stato, ID_Precedenteimp, inc, Interventi )
SELECT tblCalendario.ID_Immobile, tblCalendario.ID_Commessa, tblCalendario.IDCalendario, DateAdd("m",[Intervallo]*[inc],[Start]) AS Data, tblCalendario.ID_Elemento, tblCalendario.Cod_Elemento, tblCalendario.ID_Censimento, tblCalendario.AbbreviazioneFreq, tblCalendario.Frequenza, tblCalendario.Intervallo, tblCalendario.Note, tblCalendario.Start, tblCalendario.Scheda, tblCalendario.Impiego, tblCalendario.x, tblCalendario.Stato, tblCalendario.ID_Precedenteimp, [inc]+1 AS Incremento, tblCalendario.Interventi
FROM tblCommessa INNER JOIN tblCalendario ON tblCommessa.IDCommessa = tblCalendario.ID_Commessa
WHERE (((tblCalendario.ID_Immobile)=[Maschere]![frmHome]![Foglio1]![ID_Imm]) AND ((tblCalendario.IDCalendario) Not In (SELECT tblCalendario.[ID_Precedente] FROM tblCalendario)) AND ((DateAdd("m",[Intervallo]*[inc],[Start]))<=[Fine]));
--------
Grazie.