Newsgroup: it.comp.appl.access
Titolo: una sommatoria che non funziona se manca il dato

Nella mia maschera ho una casella che somma i dati da quattro sottomaschere.
Succede che se le quattro sottomaschere sono tutte valorizzate il codice funziona.
Se una sola è vuota la somma da errore.
Questo è il codice: (non ridete please !)
 
=(nz([Maschere]![FRM_RicaricoCanoniMensilizzati Crono]![Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati Crono]![Figlio35].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati Crono]![Figlio37].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati Crono]![Figlio39].[Form]![Testo23]))
 
in pratica ogni addendo è formato da (nz(riferimento)) quattro volte.
Doves ta l'errore ?
 
grazie infinite  a chi mi può/sa aiutare.

 Doves ta l'errore ?
 
Se la casella si trova nella maschera principale
"FRM_RicaricoCanoniMensilizzati Crono", puoi ridurre
l'espressione di sopra a:
 
=(nz([Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Figlio35].[Form]![Testo23]))+(nz([Figlio37].[Form]![Testo23]))+(nz([Figlio39].[Form]![Testo23]))
 
Per l'errore vedi:
 
 #Errore per riferimento ad oggetti vuoti
 
http://www.donkarl.com/it?FAQ2.16
 
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

 ignazio.pilone wrote: > Nella mia maschera ho una casella che somma i dati da quattro > sottomaschere. > Succede che se le quattro sottomaschere sono tutte valorizzate il > codice funziona. > Se una sola è vuota la somma da errore. > Questo è il codice: (non ridete please !) Piango. ;-) > =(nz([Maschere]![FRM_RicaricoCanoniMensilizzati > Crono]![Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati > Crono]![Figlio35].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati > Crono]![Figlio37].[Form]![Testo23]))+(nz([Maschere]![FRM_RicaricoCanoniMensilizzati > Crono]![Figlio39].[Form]![Testo23])) > > in pratica ogni addendo è formato da (nz(riferimento)) quattro volte. > Doves ta l'errore ? Se la casella si trova nella maschera principale "FRM_RicaricoCanoniMensilizzati Crono", puoi ridurre l'espressione di sopra a: =(nz([Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Figlio35].[Form]![Testo23]))+(nz([Figlio37].[Form]![Testo23]))+(nz([Figlio39].[Form]![Testo23])) Per l'errore vedi: #Errore per riferimento ad oggetti vuoti 
http://www.donkarl.com/it?FAQ2.16
 -- Ciao Karl ********* Access FAQ: 
http://www.donkarl.com/it
 
 
Karl, 
ti confermo che la casella con la sommatoria non funzionante è nell'intestazione della maschera "FRM_RicaricoCanoniCrono"  (ho modificato ora il nome per vedere se l'anomalia poteva essere provocata dallo spazio).
Nella maschera ci sono 4 sottomaschere collegate dalle quali vorrei sommare i subtotali delle caselle [Testo23].
Ho modificato il codice come dal tuo suggerimento ma ancora, se non sono valorizzati tutti e 4 gli anni mi da errore.
Potrebbe essere dovuto al fatto di avere più sottomaschere ?
grazie infinite.
ciao buona giornata.

 Potrebbe essere dovuto al fatto di avere pi� sottomaschere ?
 
Difficile a dire senza vedere l'espressione che usi.


 Ciao Ignazio, ignazio.pilone wrote: > ... > Ho modificato il codice come dal tuo suggerimento ma ancora, se non > sono valorizzati tutti e 4 gli anni mi da errore. > Potrebbe essere dovuto al fatto di avere più sottomaschere ? Difficile a dire senza vedere l'espressione che usi. -- Ciao Karl ********* Access FAQ: 
http://www.donkarl.com/it
 
 
ciao Karl,
grazie per l'aiuto.
La maschera si chiama "FRM_RicaricoCanoniCrono" e nell'intestazione ha una casella di testo "Erosione" con il seguente codice:
 
=(nz([Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Figlio35].[Form]![Testo23]))+(nz([Figlio37].[Form]![Testo23]))+(nz([Figlio39].[Form]![Testo23]))
 
che dovrebbe sommare il contenuto delle caselle "Testo23" contenuto nel piè di pagima delle sottomaschere "Sottomaschera_RicaricoCanoni";"Figlio35";"Figlio37";"Figlio39" proprio all'interno della maschera stessa.
 
Succede che se anche una sola della caselle "Testo23" non contiene dati il valore di Erosione dà Errore. Ho anche provato a impostare il valore predefinito di "Testo23" a zero ma senza risolvere l'anomalia.
grazie per l'aiuto.

 Il giorno giovedì 20 settembre 2012 17:17:07 UTC+2, Karl Donaubauer ha scritto: > Ciao Ignazio, ignazio.pilone wrote: > ... > Ho modificato il codice come dal tuo suggerimento ma ancora, se non > sono valorizzati tutti e 4 gli anni mi da errore. > Potrebbe essere dovuto al fatto di avere più sottomaschere ? Difficile a dire senza vedere l'espressione che usi. -- Ciao Karl ********* Access FAQ: 
http://www.donkarl.com/it
 ciao Karl, grazie per l'aiuto. La maschera si chiama "FRM_RicaricoCanoniCrono" e nell'intestazione ha una casella di testo "Erosione" con il seguente codice: =(nz([Sottomaschera_RicaricoCanoni].[Form]![Testo23]))+(nz([Figlio35].[Form]![Testo23]))+(nz([Figlio37].[Form]![Testo23]))+(nz([Figlio39].[Form]![Testo23])) che dovrebbe sommare il contenuto delle caselle "Testo23" contenuto nel piè di pagima delle sottomaschere "Sottomaschera_RicaricoCanoni";"Figlio35";"Figlio37";"Figlio39" proprio all'interno della maschera stessa. Succede che se anche una sola della caselle "Testo23" non contiene dati il valore di Erosione dà Errore. Ho anche provato a impostare il valore predefinito di "Testo23" a zero ma senza risolvere l'anomalia. grazie per l'aiuto.
 
Ho trovato l'espressione funzionante. La lascio a memoria futura se a qualcuno potesse ancora interessare.
Grazie per l'aiuto, mi ha fatto capire, imparare e mi ha portato sulla giusta strada....
 
=(IIf(IsError([Sottomaschera_RicaricoCanoni].[Form]![Testo23]);0;([Sottomaschera_RicaricoCanoni].[Form]![Testo23])))+
(IIf(IsError([Figlio35].[Form]![Testo23]);0;([Figlio35].[Form]![Testo23])))+
(IIf(IsError([Figlio37].[Form]![Testo23]);0;([Figlio37].[Form]![Testo23])))+
(IIf(IsError([Figlio39].[Form]![Testo23]);0;([Figlio39].[Form]![Testo23])))
 
;-)  (ora rido e non piango più !!!!)