Newsgroup: it.comp.appl.access
Titolo: Problemi con i controlli calcolati

Salve a tutto il ng.
Dopo aver fatto varie prove ho gettato la spugna, vi prego aiutatemi...
Ho una maschera di carico magazzino che contiene una sottomaschera di
dettaglio articoli.
Su ogni riga della sottomaschera ho i soliti campi prezzo, quantita
,sconto... ed infine il controllo calcolato 'totale riga' che con una
funzione 'Calcola()' sull'origine riga che mi da il prezzo effettivo. Nel
pič di pagina della sottomaschera un altro controllo denominato 'totale' che
deve sommare i valori dei controlli calcolati 'totale riga'.
Prendendo spunto dal database 'Ordini' , nell'origine riga di 'totale' gli
scrivo
=Somma([totale riga]), ma non funziona probabilmente perchč si tratta di un
controllo calcolato...
Ho provato anche ad usare gli eventi ma pare che l'evento 'AfterUpdate' non
si verifica nei controlli calcolati  (sapete perchč?!?).
Qualcuno puň darmi un suggerimento?
Grazie a tutti
Grazia

Devi posizionare il Campo della somma nella sezione "piè di pagina maschera"
della sottomaschera e sommarci i valori come tu hai fatto. Poi sulla
maschera principale devi creare un campo e assegnargli =[Forms]![tua
form].[sottomaschera]![totale].
Io l'ho fatto e a me funziona...........
Emil

 wrote in message
93hs56$3fm$2...@serv1.albacom.net...

Ti ringrazio per la risposta ma purtroppo non funziona...Credo comunque di
non aver capito, magari diamo dei nomi ai controlli così ci capiamo meglio.
- "totale riga" è il controllo calcolato nel corpo della sottomaschera che
richiama la funzione calcola() nell'origine riga;
- "totale" é il controllo nel piè di pagina della sottomaschera che
nell'origine riga ha =Somma([Totale riga])
- chiamiamo "Totale Maschera" il nuovo controllo da aggiungere se ho ben
capito nel corpo della maschera principale.
Tu mi hai suggerito di dargli come origine riga assegnargli =[Forms]![tua
form].[sottomaschera]![totale]. (ti chiedo di rivedere la sintassi a me
risulta che il riferimento alla sottomaschera è [Forms]![Mia
maschera]![sottomaschera].form![totale], ma neppure così funziona).
Quello che non mi è chiaro è il collegamento tra il nuovo controllo "Totale
Maschera" e "totale" nel piè di pagina.
Ti ringrazio, fammi sapere.
Grazia

 form].[sottomaschera]![totale].
OK questo origine riga devi assegnarlo al campo Totale Maschera
ti ripeto a me funziona :))
Emil

 wrote in message
93i4fb$m2k$1...@serv1.albacom.net...

Ti ringrazio per la solerzia con la quale mi rispondi...
Mi sto quasi arrendendo :-(    Il giorno che risolverò quasto problema te lo
faro sapere :-)
Ho dimenticato di dirti che il controllo " totale" mi da #Errore quindi se
tento di assegnare il suo valore
a ad un altro controllo ("Totale Maschera") mi sembra improbabile che possa
dare qualche risultato.
Ma il tuo "totale" nella sottomaschera cosa visualizza?
Penso a questo punto che usare la funzione Somma in un controllo calcolato
da' qualche problema.
Grazia


Emil


--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

 wrote in message
93jqst$c0m$1...@serv1.albacom.net...

L'indirizzo è giusto, oppure 
gra...@libero.it
 .
Hai ricevutola mia e-mail con allegato  'carico.mdb'? Io non ho ricevuto
nulla.
Non so se hai letto la risposta al problema data da Roberto dal portatile,
ci sto provando ancora senza risultati perchè la funzione Somma ha come
argomento, nel mio caso, la mia funzione Calcola() e questo pare non gli
piaccia.
Proverò a rinunciare alla funzione e ad esplicitare il calcolo, poi  mi
rifaccio viva,
se puoi cmq inviarmi la tua maschera. Grazie
Buon week-end
Grazia


Prima di tutto ciao e scusa per il cambio d'identità, ma nel week-end
dispongo di un computer diverso.
Mi sei stato di grande aiuto soprattutto perchè mi hai spinto ad
approfondire la questione, ma in conclusione oggi è Domenica ed io sono
rimasta con l'antico (ormai sta invecchiando) problema!
Il provare e riprovare di questi giorni mi ha fatto capire che il problema è
meno banale di quanto può sembrare.
Vengo al punto. Ci sono varie alternative che ho provato ( ti ricordo che
l'errore sta nel controllo [totale] al piè di pagina della sottomaschera):
1) controllo [totale riga] (nel corpo della sottomaschera)
 =Calcola("prezzo";"quantita";"sconto";"iva")   OK
e controllo [totale]    =Somma(Calcola("prezzo";"quantita";"sconto";"iva"))
mi da'
#Errore
2) rinunciando alla funzione ho provato ad esplicitare il calcolo che per
brevità supponiamo sia [prezzo]* [quantita], qundi l'help mi dice di
assegnare a [totale]
=Somma([prezzo]* [quantita]) ma non và, in quanto il campo prezzo a sua
volta
è un campo calcolato  quindi esplicitando ancora il tutto diventerebbe
=Somma([codice libro].column(2) * [quantita]) ma ancora   #Errore!!!
3) ho provato a cambiare l'origine della sottomaschera, in quanto il vero
problema sta nel fatto che la tabella di base 'dettagli' non contiene i
campi 'prezzo' e 'iva' che sono ricavati dalla tabella 'articoli' (questo si
è reso necessario per normalizzare le tabelle). Ma la query che vorrei
sostituire alla sottomaschera dovrebbe avere un campo prezzo col valore
PrezzoComplessivo: [Quantita]*[codice libro].column(2) che ovviamente non
può funzionare in quanto il prezzo viene determinato solo quando l'utente
sceglie l'articolo! Non posso neppure assegnare un valore provvisorio a tale
campo e modificarlo in seguito, in quanto  non è permesso modificare il
valore di un campo calcolato.
4) infine ho tentato il calcolo del totale con una funzione che opera sul
recorset
(me.RecordsetClone) della sottomaschera, ma tale recorset non riconosce i
campi calcolati.
Quindi l'origine del male sembra risiedere nel fatto che i campi prezzo e
iva non sono memorizzati in una tabella di base e del resto non mi sembra
una buona idea denormalizzare le tabelle per raggiungere il mio scopo.
Se il tutto sembra poco chiaro posso inviarti la maschera che mi da'
problemi.
Aspetto fiduciosa un tuo consiglio.
Grazia

 ha scritto nel messaggio
news:Wrk86.50551$eB2.4...@news.infostrada.it...

Non ti suggerirei mai di denormalizzare una tabella, sarebbe una bestemmia.
Visto che l'help indica esplicitamente che la funzione di aggrgazione Somma
può operare su campi calcolati di una query, secondo me la strada giusta da
seguire è quella di effettuare i calcoli in una query; 'prezzo' e 'iva' te
li puoi ricavare con la funzione DLookup (basando i criteri su [codice
libro]) oppure basando la query oltre che sulla tabella 'dettagli' anche
sulla tabella 'articoli' mettendo le due tabelle in join tramite il campo
[codice libro].



Finalmente funziona!
Grazie mille. In effetti ho risolto il problema basando la maschera sulla
query tra articoli e dettagli. Sei stato prezioso.
Al prossimo problema.
Ciao Grazia