Newsgroup: it.comp.appl.access
Titolo: (Ancora!) problemi con somma in una maschera

In un adp ho una sottomaschera in cui, per ogni record, calcolo
l'importo di un articolo sottraendogli gli sconti con
=Nz([Prezzo]*[QT]*(1-Nz([SCT1])/100)*(1-Nz([SCT2])/100)*(1-Nz([SCT3])/100)*(1-Nz([SCT4])/100))
e funziona benisimo.
Al piede della sottomaschera stessa devo calcolare la somma degli
importi spora calcolati ma
=Nz(Sum([Prezzo]*[QT]*(1-Nz([SCT1])/100)*(1-Nz([SCT2])/100)*(1-Nz([SCT3])/100)*(1-Nz([SCT4])/100)))
non funziona (sia in modalità maschera singola che continua mi dà
#error)
Ho tentato di risolvere leggendo i numerosi post sull'argomento, ma
persino =Sum(nz([Prezzo];0)*nz([QT];0)) dà #error!
Non saprei come calcolarlo nella query di apertura record perchè
alcuni valori (tra cui il prezzo) vengono assegnati in base alla
selezione dell'utente da diverse combo.
Grazie e buona giornata!
Manuela

 ha scritto nel messaggio 
news:1136552542....@g49g2000cwa.googlegroups.com...




... spero di aver capito bene.
Dovresti fare solo una somma dei valori del campo, visto che i vari valori 
li hai già calcolati, non devi ripetere i calcoli degli sconti di nuovo.
dovrebbe bastare =Sum([nomeDelTuocampo])
non dovrebbe nemmeno servirti NZ (nella somma) poichè lo hai già usato nel 
campo e non trovi nessun valore 'nullo' di sicuro!
Può darsi che non abbia centrato l'argomento, facci sapere.
Ivan 

 ha scritto nel messaggio 
news:1136552542....@g49g2000cwa.googlegroups.com...




se la base dati è sql server o msde ti consiglio di calcolarti direttamente 
con una formula sulla tabella il valore dell'importo scontato
così sulla tua form avrai direttamente il controllo associato a tale campo e 
il relativo sum non ti da nessunissimo problema
ciao AEOM 

Ciao Manuela
Prova così:
se il controllo dove esegui il calcolo, ad esempio, si chiama TotaleNetto
Nella struttura della sottomaschera visualizza una Query - Seleziona tutta la Tabella di origine dati (con l’asterisco), quindi nel campo accanto digita TotaleNetto: CLng([Costo Totale con IVA]-([Acconto]+[Saldo])) dove Costo Totale con IVA, Acconto, Saldo corrispondono ai  controlli che ti servono per costruire l’espressione ( Prezzo,Quantità ecc) 
Quindi  nel controllo al piede della sottomaschera dove vuoi il totale in Origine controllo digita =nz(Somma([TotaleNetto]))
A me funziona correttamente se c’è qualche problema e mi dici come fare ti mando un esempio 
Ciao
-- 
franco_44 
------------------------------------------------------------------------
View this thread: 
http://www.itsistemi.net/viewtopic-749855.html
Inviato via 
http://www.itsistemi.net

Grazie a tutti!
Però non ho ancora risolto... :(
Sum([NomeDelCampo]) non funziona sui campi calcolati. Ho adottato la
formula sulla tabella (come tipo di dati si prende float). Il singolo
record nella maschera continua lo calcola correttamente, ma se metto
nel control source di un controllo al footer della maschera
=nz(Sum([NomeCampo])) continua a darmi #Error.
Ho pensato che, come suggeriva Franco, si potesse trattare di un
problema di tipo di dati (anche se float dovrebbe sommarlo senza
problemi!)
CLng funziona negli mdb, ho provato a mettere nella query
CAST(ImportoScontato AS int) AS TotaleOfferta (anche se poi non mi
sarebbe andato bene perchè mi servono i 2 decimali, ma giusto per
escludere che si trattasse di un problema di tipo di dati) ma anche
CAST(ROUND(ImportoScontato; 2) AS money)
o
CAST(((((Prezzo * QT) * (1 - SCT1 / 100)) * (1 - SCT2 / 100)) * (1 -
SCT3 / 100)) * (1 - SCT4 / 100) AS money) AS ImpSc
ma neanche così funziona...
Sapete darmi qualche altra indicazione?
Grazie ancora e buon we!
Manuela

 ha scritto nel messaggio 
news:1136627611....@g49g2000cwa.googlegroups.com...
Grazie a tutti!
Perň non ho ancora risolto... :(
Sum([NomeDelCampo]) non funziona sui campi calcolati. Ho adottato la
formula sulla tabella (come tipo di dati si prende float). Il singolo
record nella maschera continua lo calcola correttamente, ma se metto
nel control source di un controllo al footer della maschera
=nz(Sum([NomeCampo])) continua a darmi #Error.
Ho pensato che, come suggeriva Franco, si potesse trattare di un
problema di tipo di dati (anche se float dovrebbe sommarlo senza
problemi!)
CLng funziona negli mdb, ho provato a mettere nella query
CAST(ImportoScontato AS int) AS TotaleOfferta (anche se poi non mi
sarebbe andato bene perchč mi servono i 2 decimali, ma giusto per
escludere che si trattasse di un problema di tipo di dati) ma anche
CAST(ROUND(ImportoScontato; 2) AS money)
o
CAST(((((Prezzo * QT) * (1 - SCT1 / 100)) * (1 - SCT2 / 100)) * (1 -
SCT3 / 100)) * (1 - SCT4 / 100) AS money) AS ImpSc
ma neanche cosě funziona...
Sapete darmi qualche altra indicazione?
Grazie ancora e buon we!
Manuela
se hai messo come formula nella tabella non puo non andare,
sicura di non avere altri controlli  nel piede maschera che provocano 
errore?
se uno č sbagliato ti da errore su tutti.
prova a rifare velocemente una sottomaschera di prova
ciao, AEOM

Grande!!! Non lo sapevo!!!
Avevo lasciato tutti i controlli di prova, non sapevo che se uno è
sbagliato dà errore su tutti!!!
(vado sempre a pensare alle cose più complicate e mi perdo in una
goccia d'acqua)
Grazie, mi è ritornato il sorriso!!! :o)))
Ciao!!!

