|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2004
Città: Vicenza
Messaggi: 3832
|
[access] duplicare valori in un periodo di date
ho degli eventi con data inizio e fine con un totale di denaro speso per ogniuno, vorrei confrontarlo con un calendario ed assegnare una quota giornaliera per tutti i giorni compresi tra data inizio e fine compresi, avete suggerimenti?
ho provato la funzione IIF ma sicuramente è sbagliata perchè non riesco ovviamente a fargli replicare i valori per le date che non ho da confrontare avendo solo inizio e fine ed invece il calendario le ha tutte...
__________________
PSN: raiden_it || Steam: id || |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Se ho ben capito non devi creare dei duplicati, ma riempire i buchi con una specie di funzione di interpolazione.
Premesso che possono esserci delle soluzioni migliori, volendo realizzare esattamente quello che chiedi io metterei in "join" le date prese dal calendario con gli intervalli disponibili, in modo da avere un record per ogni data del calendario e come valori quelli corrispondenti ai relativi intervalli. Supponendo che gli intervalli siano contigui e non sovrapposti, la query dovrebbe essere più o meno così: Codice:
SELECT calendario.data, spese.valore FROM calendario, spese WHERE calendatio.data BETWEEN spese.inizio AND spese.fine Codice:
SELECT calendario.data, NZ(spese.valore, 0)
FROM calendario, spese
WHERE (calendario.data BETWEEN spese.inizio AND spese.fine)
OR NOT EXISTS (SELECT 1 FROM spese WHERE calendario.data BETWEEN spese.inizio AND spese.fine)
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:36.



















