Newsgroup: it.comp.appl.access
Titolo: Criteri nella Funzione Dsum

Buongiorno a tutti e ringrazio in anticipo per eventuali aiuti
avrei bisogno la sintassi corretta per inserire i criteri nella funzione 
Dsum
Ho una TblUscite con
IDUscita
DataUscita
CausaleUscita
ImportoUscita
In una casella di testo inserisco funzione Dsum
=DSum("ImportoUscita";"TblUscite")
e questo restituisce la somma di tutte le uscite
se voglio la somma condizionale per esempio solo la somma voce carburante:
=DSum("ImportoUscita";"TblUscite";"CausaleUscita"=[Carburante])
mi restituisce ?nome oppure error
tenete presente che la voce carburante (nella TblUscite ) viene presa da 
TblCausaleUscite dove ho
IDCausaleUscita
CausaleUscita
nell' help dsum non ho trovato esempi ma solo generalita'
Come ottenere la giusta sintassi per sommare solo una voce ?
Sperando di essere stato chiaro ringrazio in anticipo per delucidazioni
Stefano 

Tennis ha scritto:



Se effettivamente si legge "Carburante" nel campo "CausaleUscita" della
tabella "TblUscite", diventa :
 =DSum("ImportoUscita";"TblUscite";"CausaleUscita=" & "'" & "Carburante" &
"'")
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 un po' sintassi con gli apici ma niente
confermo che nel campo CausaleUscita si legge Carburante pescato da 
TblCausaleUscite e relazionato alla tabella TblUscite per normalizzarlo


 ha scritto nel messaggio 
news:4d440b6c$0$2050$4faf...@reader1.news.tin.it...

Prova questa
=DSum("[ImportoUscita]";"TblUscite";"[CausaleUscita]='" & [Carburante] & 
"'")
Ciao
Graziano 

Tennis ha scritto:

Suppongo che ci sia una maschera dove inserisci dati. In che modo
valorizzi il campo "CausaleUscita" della tabella "TblUscite"? Tramite
combo?
Intanto riprova con:
 =DSum("ImportoUscita";"TblUscite";"CausaleUscita=" & Chr(34) &
"Carburante" & Chr(34))
--


CausaleUscita
Nella TblUscite, il campo CausaleUscita è numerico o testo?
Visto che CausaleUscita è collegato a TblCausaliUscite, è verosimile
chein TbdUscite sia memorizzato l'IDCausaleUscita, che magari non è
Carburante  ...

 di nuovo grazie ma continua a darmi #Errore
per la tua domanda e' si ,inserisco tramite combo dalla maschera FrmUscite 
che ha come origine dati TblUscite e il campo "CausaleUscita" viene inserito 
tramite combo che pesca da
TblCausaleUscite , quindi suppongo che il campo memorizzato non sia di tipo 
Testo (nella TblUscite )


stefano ha scritto:


Supponi? In che senso? La TblUscite non è farina del tuo sacco?
:-)
Dovresti senz'altro sapere se il campo "CausaleUscita" in TblUscite è
numero o testo. Ricontrolla la struttura di tabella TblUscite.
Il controllo calcolato (=DSum....) è inserito nella FrmUscite? Inoltre
chiarisci meglio le caratteristiche della combo: origine, colonna
associata etc.
--


 =DSum("ImportoUscita";"TblUscite";"[CausaleUscita]=10")
perche' 10 e' l'IDCausaleUscita del Carburante (TblCausaleUscite)
mi chiedevo come ( e se era possibile ovviamente ) nella stringa poter 
inserire la voce Carburante ( ho altre molte voci ) e non il relativo ID ( 
anche se funziona in questo modo )
cioe' trasformare nella stringa in testo per inserire facilmente le altre 
causali
spero di essere stato chiaro, e comunque grazie
Stefano


"Tennis"  ha scritto nel messaggio 
news:4d440b6c$0$2050$4faf...@reader1.news.tin.it...



-------
Non dici come sono relazionate le tabelle. Mi par di capire 
tblUscite.CausaleUscita --> tblCausaleUscite.IDcausaleUscita con campo 
InteroLungo se l'IDcausaleUscita � conforme all'uso comune.
Se � cos�:
=DSum("ImportoUscita";"tblUscite";"CausaleUscita = " & 
Forms!frmUscite!MiaCombo) ti seleziona l'uscita tramite l'IDCausaleUscita 
che puoi gestire come ritieni pi� opportuno.
Ma se tu dalla combo di frmUscite ricavi il nome e non l'ID del tipo di 
uscita perch� il campo CausaleUscita di tblUscite � di tipo testo (sarebbe 
una gran cavolata perch� soggetta ad errori) devi impostare:
=DSum("ImportoUscita";"tblUscite";"CausaleUscita = '" & 
Forms!frmUscite!MiaCombo.(column1)) & "'") dato per scontato che la combo 
sia formata da due campi IDcausaleUscita e CausaleUscita.
Ciao
Napi
-------------------- 

"Napi"  ha scritto nel messaggio 
news:4d45444c$0$2056$4faf...@reader1.news.tin.it...





InteroLungo se l'IDcausaleUscita è conforme all'uso comune.
Se è così:
=DSum("ImportoUscita";"tblUscite";"CausaleUscita = " &
Forms!frmUscite!MiaCombo) ti seleziona l'uscita tramite l'IDCausaleUscita
che puoi gestire come ritieni più opportuno.
Ma se tu dalla combo di frmUscite ricavi il nome e non l'ID del tipo di
uscita perché il campo CausaleUscita di tblUscite è di tipo testo (sarebbe
una gran cavolata perché soggetta ad errori) devi impostare:
=DSum("ImportoUscita";"tblUscite";"CausaleUscita = '" &
Forms!frmUscite!MiaCombo.(column1)) & "'") dato per scontato che la combo
sia formata da due campi IDcausaleUscita e CausaleUscita.
Ciao
Napi
-------------------- 
Completo il post precedente perché non avevo ancora visualizzato le risposte 
agli altri partecipanti.
Se della combo ti interessa vedere il nome e non l'ID del carburante, 
imposta la prima colonna della combo a CausaleUscita e la seconda a 
IDcausaleUScita. Nelle proprietà però devi impostare come colonna associata 
la seconda.
In questo modo pur avendo una corretta relazione tramite campo numerico fra 
le tabelle hai visualizzato il nome dell'uscita e non l'ID.
In alternativa, se questa soluzione non ti sta bene, puoi sempre, in un 
qualsiasi campo testo, far riferimento al tipo di uscita con 
Forms!frmUscite!Miacombo.column(1)
Napi
--------------------------- 

stefano ha scritto:


Finalmente.. :-)
Utilizza l'evento "Current" della maschera e l'evento "DopoAggiornamneto"
della tua combo, in cui vuoi il calcolo delle somme.
Me!TuoControllo=DSum("ImportoUscita","TblUscite","[CausaleUscita]=" &
Me!TuaCombo.Column(0))
supponendo che ci sia una combo in cui la colonna associata è
"IdCausaleUscita" e che sia la nr 1.
--


 =DSum("ImportoUscita";"TblUscite";"[CausaleUscita]=10")
Riguardo l'evolversi della discussione:
1) se la somma deve riguradare sempre e solo i trasporti, �
sufficiente aggiungere una etichetta ... e morta l�
2) se invece  vuoi di volta in volta decidere di quale tipo di spesa
visualizzare il totale, devi prevedere qualcosa di pi� elaborato (tipo
una casella combinata,  un pulsante di comando e un po' di codice in
pi�). Per�, per evitare dispersioni, sar� meglio proseguire nell'altro
ramo del thread.
Ciao
Alberto S