Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

totali in maschere e sottomaschere

293 views
Skip to first unread message

beppe005

unread,
Aug 11, 2004, 2:52:52 AM8/11/04
to
Ho 1 Maschera_Master e 3 sottomaschere "nested" (la precedente collegata
alla seguente).
Vorrei poter calcolare, sempre in modalita' maschera, il totale complessivo
del campo numerico [ore] di Sottomaschera3 per i valori di Sottmaschera1

In dettaglio: Sottomaschera1 contiene un campo data che filtra/sincronizza
Sottomaschera2 che pure contiene un campo data che a sua volta e' collegata
a Sottomaschera3 dove inserisco le "ore" di pertinenza. (A una data di
Sottomaschera1 corrispondono più date di Sottomaschera2).
Vorrei ottenere, per la data di Sottomaschera1, il totale complessivo delle
ore inserite in Sottomaschera3, ed eventualmente anche il gran totale delle
ore (sempre di Sottomaschera3).

Per ora riesco solo a fare il totale in Sottomaschera3 relativo alla data di
Sottomaschera2 con il comando Sum, ho provato con il comando DSum, ma non so
se e' la strada giusta...

Ciao
Beppe


Roberto dalla campagna

unread,
Aug 11, 2004, 3:28:00 AM8/11/04
to

"beppe005" <beppe005...@virgilio.it> ha scritto nel messaggio
news:8njSc.96767$OR2.5...@news3.tin.it...

Usa la funzione DSum (vedi help); impostando adeguatamente i criteri della
DSum piloterai i totali a tuo piacimento.

>
> Ciao
> Beppe

--
Roberto

---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


beppe005

unread,
Aug 11, 2004, 4:18:15 AM8/11/04
to

"Roberto dalla campagna" <r.ma...@libero.it> ha scritto nel messaggio
news:4UjSc.36272$1V3.9...@twister2.libero.it...

L'help di access e' davvero poco incoraggiante, sembra fatto per chi non ne
ha bisogno...
Comunque sto provando con DSum, tralasciando per il momento i "criteri", ma
non faccio altro che ottenere errori.

Da quello che ho capito, se sono in Sottomaschera1 dove voglio visualizzare
i totali, posso iniziare a impostare DSum cosi':

"=DSum(Forms!MacheraMaster!Sottomaschera2!Form!Mio_Campo_Ore ;
Forms!MacheraMaster!Sottomaschera2)"

dove "Mio_Campo_Ore" e' un campo contenuto in "Sottomaschera2"

Roberto dalla campagna

unread,
Aug 11, 2004, 6:38:48 AM8/11/04
to

"beppe005" <beppe005...@virgilio.it> ha scritto nel messaggio
news:bDkSc.124891$5D1.6...@news4.tin.it...

Rispetto il tuo punto di vista ma non lo condivido: io faccio ricorso con
soddisfazione all'help solamente per le cose di Access che non conosco.
Certo è che per leggere e usare l'help occorre che si siano studiati almeno
i fondamentali di Access.

> Comunque sto provando con DSum, tralasciando per il momento i "criteri",

Naturalmente poi, per risolvere il tuo problema, dovrai invece usare i
criteri, altrimenti non avrai il risultato desiderato.

> ma
> non faccio altro che ottenere errori.
>
> Da quello che ho capito, se sono in Sottomaschera1 dove voglio
visualizzare
> i totali, posso iniziare a impostare DSum cosi':
>
> "=DSum(Forms!MacheraMaster!Sottomaschera2!Form!Mio_Campo_Ore ;
> Forms!MacheraMaster!Sottomaschera2)"
>
> dove "Mio_Campo_Ore" e' un campo contenuto in "Sottomaschera2"

Per prima cosa nelle maschere (quindi nelle sottomaschere) non ci sono i
campi ma i controlli: i campi sono invece contenuti nelle tabelle e nelle
queries.
La funzione DSum, come tutte le funzioni di aggregazione (se non ho capito
male tu hai già usato Sum), somma i valori dei campi e non i valori dei
controlli di una maschera (sottomaschera nel caso tuo).
Nella sintassi della DSum va indicato pertanto il nome del campo da sommare
ed il nome della tabella o della query che sono origine record della tua
sottomaschera, quindi indicherai le eventuali condizioni per le quali Access
deve effettuare la somma ; insomma, per una DSum senza criteri scriverai una
cosa del genere:

= DSum("Mio_Campo_Ore"; "[NomeTabellaQuery]")

beppe005

unread,
Aug 13, 2004, 2:47:48 AM8/13/04
to
> > L'help di access e' davvero poco incoraggiante, sembra fatto per chi non
> ne
> > ha bisogno...
>
> Rispetto il tuo punto di vista ma non lo condivido: io faccio ricorso con
> soddisfazione all'help solamente per le cose di Access che non conosco.
> Certo è che per leggere e usare l'help occorre che si siano studiati
almeno
> i fondamentali di Access.


Hai ragione tu, io riesco a districarmi nell'help di excel, pero' e' anche
vero che a volte l'help si dilunga a spiegare cose facili con termini
difficili (le paroline scritte e sottolineate in blu che se cliccate
mostrano la spiegazione scritta in verde) e per certe fuznioni usa esempi
che presuppongono la conoscenza del linguaggio di programmazione, (vedi
l'esempio per DSum). Io che ci arrivo dall'expression builder non so che
pesci pigliare con l'esempio che mi viene fatto.

> La funzione DSum, come tutte le funzioni di aggregazione (se non ho capito
> male tu hai già usato Sum), somma i valori dei campi e non i valori dei
> controlli di una maschera (sottomaschera nel caso tuo).

Io ho usato Sum nelle maschere sommando, o meglio credendo di sommare, i
valori delle maschere, ovvero con la sintassi del mettere Sum ([Forms!][nome
del controllo]), ci arrivavo usando l'expression builder e selezionando
quelli che credevo campi (ma sono controlli) di cui volevo la somma. Questo
non funziona con Dsum.

Grazie della spiegazione, e' stata piu' chiara dell'help di access.

Ciao
Beppe


Roberto dalla campagna

unread,
Aug 13, 2004, 4:14:58 AM8/13/04
to

"beppe005" <beppe005...@virgilio.it> ha scritto nel messaggio
news:ouZSc.103636$OR2.5...@news3.tin.it...

> > > L'help di access e' davvero poco incoraggiante, sembra fatto per chi
non
> > ne
> > > ha bisogno...
> >
> > Rispetto il tuo punto di vista ma non lo condivido: io faccio ricorso
con
> > soddisfazione all'help solamente per le cose di Access che non conosco.
> > Certo è che per leggere e usare l'help occorre che si siano studiati
> almeno
> > i fondamentali di Access.
>
>
> Hai ragione tu, io riesco a districarmi nell'help di excel, pero' e' anche
> vero che a volte l'help si dilunga a spiegare cose facili con termini
> difficili (le paroline scritte e sottolineate in blu che se cliccate
> mostrano la spiegazione scritta in verde) e per certe fuznioni usa esempi
> che presuppongono la conoscenza del linguaggio di programmazione, (vedi
> l'esempio per DSum).

A mio parere è difficile programmare Access (anzi dirrei impossibile) senza
conoscere almeno i rudimenti dei linquaggi VBA e SQL.
Se pensi di continuare a programmare in Access mi permetto di consigliarti
di studiare almeno i suoi fondamentali ed i rudimenti dei suoi due linguaggi
di programmazione, in caso contrario penso dovrai accontentarti di usare
l'applicativo in maniera interattiva, limitandoti, al limite, ad usare le
macro che però ti permettano solo di automatizzare quello che puoi fare con
la barra dei comandi e con la barra dei menu, ovvero usando solo una piccola
parte delle potenzialità di Access.

> Io che ci arrivo dall'expression builder non so che
> pesci pigliare con l'esempio che mi viene fatto.

Me lo immagino, ma la programmazione è un piatto che bisogna mangiare con
calma e non è un panino da azzannare di corsa al fastfood.

>
> > La funzione DSum, come tutte le funzioni di aggregazione (se non ho
capito
> > male tu hai già usato Sum), somma i valori dei campi e non i valori dei
> > controlli di una maschera (sottomaschera nel caso tuo).
>
> Io ho usato Sum nelle maschere sommando, o meglio credendo di sommare, i
> valori delle maschere, ovvero con la sintassi del mettere Sum
([Forms!][nome
> del controllo]), ci arrivavo usando l'expression builder e selezionando
> quelli che credevo campi (ma sono controlli) di cui volevo la somma.

Come hai giustamento precisato, tu con la funzione Sum credivi di aver
sommato i valori contenuti in una casella di testo, invece Access ha sommato
i valori del campo associato a quella casella di testo.

> Questo
> non funziona con Dsum.

Un conto è VBA (di cui fa parte la funzione DSum) generato a fronte di un
evento ed un altro conto è il codice ottenuto dal generatore di espressioni
che viene scritto nell'origine controllo di una casella di testo o in un
campo calcolato di una query: insooma, come si dice dalle mie parti, attento
a non confondere il cioccolato con la m...a. ;-)

>
> Grazie della spiegazione, e' stata piu' chiara dell'help di access.
>
> Ciao
> Beppe

--

beppe005

unread,
Aug 21, 2004, 1:41:57 PM8/21/04
to
> Me lo immagino, ma la programmazione è un piatto che bisogna mangiare con
> calma e non è un panino da azzannare di corsa al fastfood.
>
...

> Un conto è VBA (di cui fa parte la funzione DSum) generato a fronte di un
> evento ed un altro conto è il codice ottenuto dal generatore di
espressioni
> che viene scritto nell'origine controllo di una casella di testo o in un
> campo calcolato di una query: insooma, come si dice dalle mie parti,
attento
> a non confondere il cioccolato con la m...a. ;-)
>
> >
> > Grazie della spiegazione, e' stata piu' chiara dell'help di access.
> >
> > Ciao
> > Beppe
>
> --
> Roberto

Slow food... si digerisce meglio

Roberto dalla campagna

unread,
Aug 22, 2004, 1:55:07 PM8/22/04
to

"beppe005" <beppe005...@virgilio.it> ha scritto nel messaggio
news:FPLVc.167920$5D1.8...@news4.tin.it...
[CUT]

>
> Slow food... si digerisce meglio

Esatto!!

0 new messages