Newsgroup: it.comp.appl.access
Titolo: totale di controlli contenenti iif

in una maschera
il campo Testo1 contiene un dato filtrato tramite iif da TestoA
il campo Testo2 contiene un dato filtrato tramite iif da TestoB.
 
nell'origine controllo di Testo3 ho scritto
=[Testo2]-[Testo1]
ed esegue correttamente l'operazione
 
a piè di pagina vorrei che controllo SommaTesto3 mi sommasse i valori 
di Testo3. la formula che ho scritto è
=Somma([Testo2]-[Testo1])
che genera errore.
 
Se avessi scritto =Somma[Testo3] lo capirei. Dove sbaglio?
 
-- 
ciao
Stefano
 
 


non puoi sommare i controlli calcolati....prova a creare 2 text box invisibili e dargli come origine dati [Testo1] e [Testo2] (=valori, non calcoli), poi somma quelli

 Se avessi scritto =Somma[Testo3] lo capirei. Dove sbaglio?
 
Somma di un controllo calcolato
http://www.donkarl.com/it?FAQ2.22
 
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

> =Somma([Testo2]-[Testo1])
 
ma non funziona. E ti dirò di più:
come dicevo, Testo1 e Testo2 derivano da TestoA e TestoB.
Se, in ControlloProva, imposto =[TestoB]-[TestoA] e nel controllo a piè 
di pagina imposto =Somma([TestoB]-[TestoA]) tutto funziona.
Se inserisco quel controllo di cui sopra (che non funziona) anche il 
controllo che contiene =Somma([TestoB]-[TestoA]) genera errore.
 
Grazie ancora
 
-- 
ciao
Stefano
 
 

 calcoli), poi somma quelli
provato anche questo. Sempre il maledetto e criptico #Errore
 
-- 
ciao
Stefano
 
 

 pič di pagina imposto =Somma([TestoB]-[TestoA]) tutto funziona.
 
Non capisco cosa fai in riguardo al riferimento, ma se veramente
lo fai nella sezione pič di pagina č chiaro che non puo funzionare.
Č l'unica sezione dove "by design" le funzione di aggregazione
come Somma() non vengono riconosciute


In effetti c'e della confusione in quanto ci sono diverse tipologie di approccio.
 
Invece di concentrarti sulle formule,  concentrati invece sulle regole generali.
 
A)  Il "Nome Elemento" e la "Origine Controllo" devono SEMPRE essere diversi
( per esempio anteponi al "Nome Elemento" il prefisso "txt" o altro a tua scelta
 
B)  Nelle formule fai sempre riferimento a "Origine Controllo"
 
C) Dal punto B ne consegue ( come giustamente dice Karl )  che non puoi fare per esempio:
FormulaA + FormulaB   
ma se FormulaA è  Prezzo * Quantita
e se FormulaB è  Prezzo * Quantita + 2
allora devi fare ( Prezzo * Quantita) + (Prezzo * Quantita + 2)
 
D) Le 3 regole sopra applicale su TUTTI  TUTTI i controlli,  perche se 1 solo
ti restituisce #Errore allora si propaga a tutti gli altri  ( Non chiedermi perche ) ( è frutto di sola osservazione )
 
E)  Altro cosi su 2 piedi non mi viene in mente
 
Facci sapere

 come Somma() non vengono riconosciute
mi sfugge in quale altra sezione dovre inserire questo calcolo. 
Ribadisco poi che, a piè di pagina, la somma di differenze non 
modificate da iff viene invece eseguita.
 
Sicchè non riesco più a capire "per andare dove devo andare, per dove 
devo andare". (cit.) ;-)
 
Grazie per la pazienza di aver letto fin qui e per le eventuali 
spiegazioni
 
-- 
ciao
Stefano
 
 

 Facci sapere
ho inserito qualche particolare in più (forse troppi ) nella risposta a 
Karl. Se anche tu avessi la pazienza di arrivare in fondo al post ti 
sarei molto grato.
 
-- 
ciao
Stefano
 
 

 modificate da iff viene invece eseguita.
 
Puo darsi che stampi una maschera invece di un report?
Finora ho supposto che parliamo di un report - l'oggetto che
normalmente si usa per stampare.


 (come descritto nell'articolo segnalato)?
l'origine record della maschera è QueryCalcoloImbarchi
 
nel corpo della maschera:
il controllo from contiene [from]
il controllo to contiene [to]
il controllo Testo9  contiene =[to]-[from] *funziona*
il controllo Testo13 contiene 
=IIf([from]<#31/12/2010#;#01/01/2011#;[from]) *funziona*
il controllo Testo15 contiene =IIf([to]>#01/01/2014#;#31/12/2013#;[to]) 
*funziona*
il controllo Testo19 contiene =[Testo15]-[Testo13] *funziona*
 
nel piè di pagina
il controllo Testo11 contiene =Somma([to]-[from]) *funziona*
il controllo Testo23 contiene =Somma([Testo15]-[Testo13]) non funziona 
e trasmette #Errore anche a Testo11.


 funziona e trasmette #Errore anche a Testo11.
 
Quindi io non ho letto bene che hai scritto di una maschera
e per vendicarti tu non hai letto bene l'articolo segnalato. ;-)
 
Prova questo nel Testo23 (tutto in 1 riga):
 
=Somma(IIf([to]>#01/01/2014#;#31/12/2013#;[to]) - 
IIf([from]<#31/12/2010#;#01/01/2011#;[from]))


 e per vendicarti tu non hai letto bene l'articolo segnalato. ;-)
no, molto peggio: l'ho letto ma non l'ho capito. Avendo Testo19 che 
eseguiva un'operazione, ritenevo che in Testo23 fosse sufficiente 
ripetere solo l'operazione contenuta in Testo19 e non ho minimamente 
pensato che invece era necessario ripetere l'operazione che le stava 
dietro.
 
Grazie ancora, Karl: questa lezione mi torna estremamente utile anche 
per un altra funzione che avevo in mente di implementare da tempo.
 
-- 
ciao
Stefano