Newsgroup: it.comp.appl.access
Titolo: Query con valore 0

Buonasera a tutto il Bellissimo Ng
ho questo problema, ho una query che quando non trova valori deve restituire 
il valore 0, non ci riesco proprio.....la sintassi del generatore di 
espressioni e' questa:
 IIf(Somma(([FatturaArticoli]![prezzoictot]*[FatturaArticoli]![Iva])/100) Is 
Null;"0";Somma(([FatturaArticoli]![prezzoictot]*[FatturaArticoli]![Iva])/100))
Help 


mah?
somma(nz([FatturaArticoli]![prezzoictot]*[FatturaArticoli]![Iva])/100)
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:l0nPj.19593$o06....@tornado.fastwebnet.it...

Grazie Alessandro
ma continua a non restituirmi 0
cosa sara'..... 


e cosa i restituisce?
ahhh sorry. Le istruzioni sono due
somma(nz([FatturaArticoli]![prezzoictot])*nz([FatturaArticoli]![Iva]))/100)
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:lPnPj.19676$o06....@tornado.fastwebnet.it...

Mah...a me non torna qualcosa...ma se nella funzione originale mandi nella 
casella "0", allora è un campo testo??? o numerico???
A prescindere comunque da quello che tu possa avere nei campi allora a 
scanso di equivoci potresti scrivere:
Somma(nz([FatturaArticoli]![prezzoictot]*[FatturaArticoli]![Iva])/100)
Ciao
--
Roberto da Parma

 -- 
Ora funziona se non inserisco altri due campi che sarebbero il TipoDocumento 
che in questo caso come criterio e' impostato su Fattura e la DataDocumento 
che come criterio punta a una msk di inserimento dati....


Non si capisce bene cosa vuoi fare. Sarebbe bene "vedere" l'intera query.
A occhio e' una query con group by. La somma dovrebbe restituire i 
valori corretti per il tipo di raggruppamento scelto. E' chiaro che, se 
la accoppiata fattura/data documento  e' unica e sta fra i valori di 
select, la somma non ha senso poiche' trattasi di calcolo su valori 
atomici.
-- 
ac
y-1=x


Ecco la query:
SELECT 
Sum(nz([FatturaArticoli]![prezzoictot])*nz([FatturaArticoli]![Iva])/100) AS 
IvaDebito, nz([FatturaArticoli]![tipodocumento]) AS tipodocumento, 
nz([FatturaArticoli]![data]) AS data
FROM FatturaArticoli
GROUP BY nz([FatturaArticoli]![tipodocumento]), nz([FatturaArticoli]![data])
HAVING (((nz([FatturaArticoli]![tipodocumento]))="FATTURA") AND 
((nz([FatturaArticoli]![data])) Between [Forms]![DataIVA]![Dadata] And 
[Forms]![DataIVA]![adata]));



IvaDebito, [FatturaArticoli]![tipodocumento] ,[FatturaArticoli]![data]
FROM FatturaArticoli
WHERE [FatturaArticoli]![tipodocumento])="FATTURA") AND
[FatturaArticoli]![data]  Between [Forms]![DataIVA]![Dadata] And
[Forms]![DataIVA]![adata]))
GROUP BY [FatturaArticoli]![tipodocumento]), [FatturaArticoli]![data];
La HAVING generalmente viene usata sui risultati della GROUP BY se tali 
risultati non sono definibili a livello di singolo dettaglio.
Utilizzando, inoltre, dei formati, immagino, di tipo "data" dovresti 
essere certo del tipo di formato di confronto. i.e. il tipo "data" 
prevede la inclusione dei dati fra "diesis" (#) ed un formato di tipo 
americano (dd/mm/yyyy). Per vedere se e dove avviene il "problema" usa 
una where progressiva. Ari i.e.
1) senza where
2) con il solo confronto su fattura
3) con la between
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:RMDPj.20374$o06....@tornado.fastwebnet.it...

Grazie
ho provato senza where, con il solo confronto su fattura......ecc...il 
problema e' che se nella tabella FatturaArticoli non ci sono record, non mi 
visualizza niente, mi sta facendo impazzire...... 

Gian wrote:
[cut]

Ma dici sul serio o stai celiando?
Bella pretesa vedere qualcosa quando il qualcosa non c'e'!
Mumble!Alt!
Stai usando un form con allowedits a false?
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:53FPj.20535$o06....@tornado.fastwebnet.it...

Scusa.....il problema e' che quando non ci sono record oppure record che non 
corrispondono alla selezione la query mi deve restituire 0, questo 
perche'..... il risultato va sommato con un altro..... 


1) Non si capisce dove applichi la query (in quale contesto?)
2) Non si capisce dove e come e quando il suo risultato va sommato con 
un altro
3) Se il risultato non c'e' (assimilabile, in questo caso, a 0) cosa 
vuoi sommare! E' zero (0)
4) Chiariti i punti una soluzione o un "giragliintorno" si trova
-- 
ac
y-1=x