Newsgroup: it.comp.appl.access
Titolo: Maschere&Sottomaschere

Come si può creare una casella di testo in una maschera nella quale
compaia la media dei valori di un campo di una sottomaschera interna
alla maschera suddetta ? Il valore della media dovrebbe essere unico
per ogni record della maschera, ma derivare da più record della
sottomaschera.
Ringrazio in anticipo chiunque volesse fornirmi indicazioni utili.

Io la media l'ho costruita con una query
nella maschera principale ho aggiunto una sottomaschera"A" che ha come
origine la query
Poi nell'evento su corrente della maschera ho inserito un requery della
sottomaschera "A".
Ogni volta che cambio record nella maschera principale cambia la media di
visualizzazione

sottomaschera.
Dunque....nel piedipaginamaschera della sottomaschera metti una casella di
testo (miaCasella) con origine dati il calcolo che devi fare, nel tuo caso
probabilmente un avg([tuocontrollo]), dove tuo controllo e' il campo di cui
vuoi la media.
Il piedipaginamaschera lo setti invisibile.
Nella maschera principale metti un controllo con origine dati
me.MiaSottomaschera!tuocontrollo.
Et voila', il tutto si aggiornera' da se ad ogni spostamento di record!:-)
Saluti.
Luciano



Anch'io mi ero subito orientato su una query che facesse le medie dei
valori di un campo. Ho provato il tuo metodo, ma ho degli
incovenienti. Ricapitoliamo un po' le idee. Io ho una maschera "A" (su
una tabella "A"). Una sottomaschera "B"(su tabella "B") in cui
inserisco i valori numerici. "A" e "B" sono in relazione uno-a-molti.
Ad ogni record di "A" devono corrispondere più record di "B". C'è poi
la sottomaschera "C" sulla query (quella che fa le medie dei campi di
"B"). Ho inserito la subroutine
Private Sub Form_Current()
[Sottomaschera Media].Requery
End Sub
come da te indicatomi sull'evento "corrente" della maschera "A"
Il problema è che la query fa le medie dei valori di "B" senza
distinguere minimamente tra quelli che appartengono a diversi record
di "A". Cioè la query ha un unico record con le medie. A me
interesserebbe che ci fosse una sola media per ogni record di "A". Ho
provato (un po' ad intuito) ad inserire nella query il campo contatore
di "A", ma mi riporta il seguente messaggio
"Impossibile eseguire una query che non include
l'espressione"MioCampoContatore" specificata come parte di una
funzione di aggregazione"
Questo messaggio supera le mie (miserrime) nozioni di Access.
Ho qualche speranza di riuscita?


 Ringrazio in anticipo chiunque volesse fornirmi indicazioni utili.
si e' sufficiente che inserisci anche ....group by miocampocontatore  
(dopo la where)
a.cara

 sottomaschera.


La sottomaschera della media deve essere collegata alla maschera principale
con la proprieta' collega campi secondari/master nello stesso modo della
maschera "B"
nel tuo caso credo di aver capito ch il collegamento avviene con il campo
contatore
devi mettere il campo contatore nella query di origine della sottomaschera
media e poi fare il collegamento.


wrote:
Ho risolto con l'istruzione SQL "GROUP BY" nella query. Ringrazio cmq
tutti per la partecipazione.


wrote:
Ho risolto con l'istruzione GROUP BY nella Query. Ringrazio comunque
tutti per la partecipazione.