Newsgroup: it.comp.appl.access
Titolo: SOMMA ERRATA

Salve a tutti gli amimi di NG,
problema:
in una maschera faccio visualizzare, per colonne, dei dati che sono il
frutto di campi inseriti manualmente e due di questi sono controlli
calcolati. nel piè di pagina faccio la somma dei prodotti di un campo
per un controllo calcolato, con la seguente funzione: dsum("[paga
oraria]*[oretotali]";"[produzione]")
ottengo un risultato errato, che non corrisponde alla somma esatta.
prima che avessi questo problema, riuscivo ad ottenere la somma
esatta, inserendo manualmente il campo [oretotali] (che adesso è
controllo calcolato al fine di automatizzare il calcolo delle ore
lavorate).
ho provato ad inserire un campo d'appoggio nella maschera (e anche
nella tabella) al fine di associare il risultato del controllo
calcolato al campo nella maschera e quindi nella tabella:
 iif([oretotali] is not null;[oretotali];[isnull])
come risultato della somma non ottengo alcun valore (campo vuoto) e
questo è giustificato perchè i valori del campo d'appoggio non vengono
memorizzati nel campo della tabella.
suppongo che, se riesco a fare memorizzare questo valore nel campo
della tabella, il problema dovrebbe essere risolto.
come posso fare?
oppure sapete come risolvere e da che dipende il valore errato della
somma con il primo procedimento?
grazie a tutti.

 ha scritto nel messaggio
news:93ec97a6-a836-487d...@b2g2000hsg.googlegroups.com...

problema:






come posso fare?

grazie a tutti.
Ciao
La funzione
dsum("[pagaoraria]*[oretotali]";"[produzione]")
dove é? in un campo calcolato? in un codice vba?
nel primo caso i 3 campi evono essere nella maschera, nel secondo caso ci
vuola la virgola tra i due campi...
In una maschera, per avere un campo calcolato, lo devi mettere nel
piedipagina e inserire nella proprieta "origine controllo" una stringa fatta
cosi
=Somma([pagaoraria]*[oretotali])
Facci sapere
Ciao
Nik

 Nik
innanzitutto grazie per la precedente risposta.
ti informo che la funzione =somma([paga oraria]*[oretotali]) che avevo
già provato, mettendola nel pie di pagina, mi dà #Errore.
ti delucido sulla struttura:
tabelle: archivio del personale; produzione;
maschera: archivio del personale e sottomaschera produzione;
maschera: archivio del personale1 e sottomaschera produzione1;
query:archivio del personale query
il campo [paga oraria] è contenuto nella tabella produzione e
inserisco il relativo valore mediante la sottomaschera produzione;
sempre nella stessa sottomaschera inserisco un controllo calcolato,
per il calcolo delle ore lavorate, che chiamo [oretotali].
=Hour(([ALLE ORE1]-[DALLE ORE1])+([ALLE ORE2]-[DALLE ORE2]))+
(Minute(([ALLE ORE1]-[DALLE ORE1])+([ALLE ORE2]-[DALLE ORE2]))/60) e
ottengo un valore corretto.
creo una query, archivio del personale query, dove faccio visualizzare
alcuni campi di entrambe le tabelle e in piu aggiungo dei controlli
calcolati che chiamo: [oretotali] inserendo la formula di prima, e
[pagagiornaliera] che è uguale a   =([PAGA ORARIA]*[oretotali]). il
tutto inserito in origine controllo.
il risultato è anche qui corretto per entrambi i controlli calcolati.
quando, nel pie di pagina, inserisco un controllo calcolato per fare
la somma dei prodotti contenuti nella colonna relativa al controllo
calcolato [pagagiornaliera] e mediante la seguente funzione cerco di
ottenere il totale: =somma([paga oraria]*[oretotali]) ottengo #Errore;
stessa cosa con =somma([pagagiornaliera]).
se, invece uso la funzione =dsum("[paga
oraria]*[oretotali]";"[produzione]") ottengo un valore che però non è
esatto (non corrisponde alla somma dei valori visualizzati nella
colonna nella maschera).
quando, [oretotali] era un campo della tabella produzione che inserivo
manualmente e usavo la funzione =somma([paga oraria]*[oretotali])
tutto funzionava alla perfezione. da quando tale campo l'ho inserito
come controllo calcolato [oretotali] non riesco a venirne a capo del
problema. allora ho pensato di creare un campo [totale ore] da
inserire nella tabella produzione e nella sottomaschera produzione, e
fare in modo da associare a quest'ultimo il risultato che ne scaturiva
dal controllo calcolato [oretotali]. con questa associazione il valore
viene visualizzato in modo corretto (cioè sia il controllo [oretotali]
e [totale ore] contengono lo stesso valore), ma quando vado a vedere
se nella tabella produzione sono stati memorizzati i valori in
corrispondenza del campo [totale ore], non trovo nulla. come potrei
fare per inserire e memorizzare in questo campo i valori calcolati in
[oretotali].?
spero di averti fornito ogni dettaglio per la soluzione.
grazie anticipatamente in attesa di una tua risposta.

[super CUT]
ho provato a simulare la situazione ma mi sono incartato...
non penso di poterti aiutare...
mi dispiace...
Nik