Signori buongiorno.
La prendo alla larga per far comprendere lo scenario:
Vorrei sottoporvi questo problema, che nello specifico vede coinvolta una sola tabella (comunque legata ad altre che ritengo ininfluenti in questo contesto):
[StoricoCongedoParentale] che contiene i dati riferiti ai periodi di "congedo maternità/paternità" che ciascun genitore fruisce in virtù di ciascun figlio: ([Id], dal, al, numero di giorni, Idfiglio, Matricola genitore, altre assenze, ...)
Questa tabella viene alimentata da un maschera/sottomaschera, nella quale vengono inseriti i dati di interesse.
Ho predisposto una query (che raggruppa alcuni dati provenienti da una serie di altre query), la quale "alimenta" un report che viene stampato ogni qualvolta un genitore chiede dei giorni;
In questo report, tra l'altro, viene riportato anche il totale del numero di giorni già fruiti NELL'ANNO CORRENTE dal quel genitore, per quel figlio specifico (potrebbe avere più figli).
Vorrei aggiornare il report descritto, inserendo un nuovo dato:
Il genitore, NELL'ANNO CORRENTE, ha già fruito di x giorni per quel figlio;
Di quanti giorni ha fruito quel genitore complessivamente, NELL'ANNO CORRENTE, SOLO per eventuali ALTRI figli?
Volevo predisporre questa ulteriore query, la quale praticamente considera tutti gli eventuali figli, di quel genitore, diversi da quello per il quale viene fatta la richiesta, considerando la decorrenza dell'assenza nell'anno in corso (i valori [MATR} ed [IdFiglio] vengono presi dalle maschere aperte):
SELECT Sum(StoricoCongParentale.Giorni) AS TotAnnoAltriFigli
FROM StoricoCongParentale
GROUP BY Year([StoricoCongParentale]![dal]), StoricoCongParentale.IdFigli, StoricoCongParentale.MATR
HAVING (((Year([StoricoCongParentale]![dal]))=Year(Date())) AND ((StoricoCongParentale.IdFigli)<>[Maschere]![GestioneFigli]![IdFiglio]) AND ((StoricoCongParentale.MATR)=[Maschere]![Personale]![MATR]));
funziona, a patto che ci siano altri figli per i quali risulta registrata almeno una assenza del genitore nell'anno corrente.
Diversamente restituisce una tabella vuota, null,...
sinceramente non lo so che genere di valore possa essere considerato
Nel tentativo di ottenere un valore pari a "zero" in questa circostanza, ho utilizzato il comando IIF:
IIF ([Giorni] is null; 0;[Giorni])
tentando anche la condizione [Giorni]=""
Googlando ho visto anche la funzione "Nz" (che mi sembra molto simile alla funzione IIF), ma la sostanza non è cambiata.
La tabella risultante continua a risultare vuota.
Come posso ottenere il valore numerico "zero" qualora non siano presenti dati (altri figli per i quali non sono stati fatti giorni di assenza)?
[EDIT]
Preciso che il campo [Giorni] NON è un campo calcolato; è un valore immesso manualmente.