Newsgroup: it.comp.appl.access
Titolo: come utilizzare DSum

ciao a tutti
come devo utilizzare DSum in un report, per avere una somma filtrata?
Grazie in anticipo 


Dsum(campo,tabella,criterio) dove *criterio* e' una where senza la 
parola where
-- 
ac (x=y-1)

 ha scritto nel messaggio 
news:sG5ap.358$2w1...@tornado.fastwebnet.it...

grazie Alessandro
puoi farmi un'esempio per il criterio?
io vorrei avere le somme filtrando per esempio per "nome fornitore" e non 
solo
=DSum("ImponibileFo";"QFattureFornitori";"??") 


=DSum("ImponibileFo";"QFattureFornitori";"nomecampofornitore='" & valore 
& "'")
non so come e' fatto il tuo report ma la somma si puo' ottenere anche in 
altro modo, se, per esempio, per ogni fornitore hai anche il dettaglio 
degli importi i.e.=somma(dettaglioimporto) in una casella di testo a 
fine sezione fornitore)
-- 
ac (x=y-1)

 sezione fornitore)
ciao Alessandro
no, ho un semplice report senza dettaglio degli importi
=DSum("ImponibileFo";"QFattureFornitori";"Nomefornitore='" & valore
& "'")
nel mio caso in valore cosa va
Grazie ancora

 nel mio caso in valore cosa va
Da qualche parte il nome del fornitore lo devi avere (in una variabile 
di form/report?) il valore e'/dovrebbe essere quello.
Ho comunque il dubbio che tu stia complicando una cosa semplice. Se non 
hai dettagli e sei interessato ad un solo fornitore perche' il valore 
che ti interessa non e' direttamente sulla sorgente dati?
-- 
ac (x=y-1)


Ciao Alessandro
grazie innanzi tutto per la pazienza nei miei riguardi.
Ho provato in diversi modi, ma non ottrngo ciň che vorrei.
Per esempio:
=DSum("ImponibileFo";"QFattureFornitori") Cosě anche se filtro (per esempio 
idfornitore) ho il totale di tutti i records
=DSum("ImponibileFo";"QFattureFornitori";"idFornitore=" & [IDFornitore]) in 
questo modo filtrando sempre per idfornitore, ho l'importo di un solo record
ma onestamente non capisco con che criterio.
i campi in questione sono:
IdFornitore, iddocumento, nfattura, datafattura,
poi questi sono quelli che devono essere sommati e filtrati:
ImponibileFo
Ivafo
TotaleFattura
Grazie ancora


-- 
ac (x=y-1)

 il codice *segreto* forse qualcosa si potra' capire.
ciao Alessandro
ecco il codice Sql della Query: QFattureFornitori
SELECT TbFattureFornitori.IDFatturaFo, TbFattureFornitori.nFatturaFo, 
TbFattureFornitori.DataFatturaFo, TbFattureFornitori.IVAFo, 
nz([ImponibileFo])+nz([IVAFo]) AS [Totale Fattura], 
TbFattureFornitori.DataPagamentoFo, TbFattureFornitori.IDFornitore, 
TbFattureFornitori.IDDocumento, TbFattureFornitori.ImponibileFo
FROM TbTipo_Documento INNER JOIN (TbFornitori INNER JOIN TbFattureFornitori 
ON TbFornitori.IDFornitore = TbFattureFornitori.IDFornitore) ON 
TbTipo_Documento.IDDocumento = TbFattureFornitori.IDDocumento;
Slt

 Slt
Cose' che vuoi avere [Totale Fattura]?
Se e' cosi perche' non la prelevi direttamente dalla query?
  oppure
=DSum("[Totale Fattura]";"QFattureFornitori";"idFornitore="& 
[IDFornitore])
Se ti restituisce il valore relativo ad una singola fattura significa 
che per quell'IDFornitore e' presente una sola fattura.
-- 
ac (x=y-1)

 per quell'IDFornitore e' presente una sola fattura.
ciao Alessandro
io vorrei poter filtrare i totali in fondo al report utilizzando i pulsanti 
"filtro in base a selezione" e "rimuovi filtro/ordina".
Al momento ho fatto le seguenti prove, ma nessuna mi da il valore corretto, 
o per lo meno
se un'espressione va bene per una selezione non va bene per l'altra.
=DSum("[Totale Fattura]";"QFattureFornitori";"[idFornitore]") qui ho il 
totale corretto, ma non posso filtrare
=DSum("[Totale Fattura]";"QFattureFornitori";"[idFornitore]=" & 
[IDFornitore])
in questi ultimi due ho aggiunto tipoDocumento per fare una prova
=DSum("[Totale Fattura]";"QFattureFornitori";"[idFornitore]=" & 
[IDFornitore] & " And [IDTipoDocumento]=" & [IDTipoDocumento])
=DSum("[Totale Fattura]";"QFattureFornitori";"[IDTipoDocumento]=" & 
[IDTipoDocumento])