Discussione:
Somma di sottomaschere
(troppo vecchio per rispondere)
.:: P ::.
2006-01-16 23:07:09 UTC
Permalink
Ciao a Tutti,
premetto che con access ho qualche difficoltà d'approccio direi a questo
punto, ecco il mio problema.
Ho una maschera al cui interno ho aggiunto differenti sottomaschere, in ogni
sottomaschera posso selezionare dei prodotti e attraverso "origine di
controllo = Somma([PrezzoTotale])" mi imposto il totale su una casella di
testo, tutto questo per ogni sottomaschera.
Poi attraverso una casella di testo collocata questa volta nella maschera
principale (quella che contiene tutte le mie sottomaschere precedentemente
citate), non vorrei far altro che visualizzare il totale.
Per calcolare il mio totale ho creato una funzioncina che non fa altro che
leggerte la casella di testo che contiene il totale per ogni sottomaschera
(es. Form_DettVarie.Form!TotaleVarie) e una volta fatta la somma, non faccio
altro che sparate tutto sulla casella del mio totale
(Form_Ricevute.Form!TotaleRicevuta = GetTotale).
Questa funzione non faccio altro che richiamarla alla pressione del pulsante
calcola totale:
Private Sub CalcolaTot_Click()
SetTotale
End Sub

e all'evento:
Private Sub Form_Current()
SetTotale
End Sub

In modo tale che ad ogni spostamento di record nella maschera mi si aggiorni
il totale.
Tutto ciò non avviene sempre perchè se mi sposto tra i record la casella
rimane a 0, ma se metto in break nel debug vedo che la funzione viene
eseguita!!! Infatti se torno alla mia maschera vedo che la casella si è
aggirnata con il nuovo totale, ma se non metto nessun break di debug niente
da fare non funzionaaaaa!!!! Sono disperato e incazzato e sopratutto sto
perdendo molto tempo su una cavolata del genere.
Scusate la mia ignoranza Vi prego aiutatemi.
Vi ringrazio per il tempo che mi avete dedicato.
Ciao .:: P ::.
cidi
2006-01-17 08:00:47 UTC
Permalink
Post by .:: P ::.
Post by .:: P ::.
Ciao a Tutti,
premetto che con access ho qualche difficoltà d'approccio direi a questo
punto, ecco il mio problema.
Ho una maschera al cui interno ho aggiunto differenti sottomaschere, in
ogni
Post by .:: P ::.
sottomaschera posso selezionare dei prodotti e attraverso "origine di
controllo = Somma([PrezzoTotale])" mi imposto il totale su una casella di
testo, tutto questo per ogni sottomaschera.
Poi attraverso una casella di testo collocata questa volta nella maschera
principale (quella che contiene tutte le mie sottomaschere
precedentemente
citate), non vorrei far altro che visualizzare il totale.
Per calcolare il mio totale ho creato una funzioncina che non fa altro che
leggerte la casella di testo che contiene il totale per ogni
sottomaschera
(es. Form_DettVarie.Form!TotaleVarie) e una volta fatta la somma, non
faccio
Post by .:: P ::.
altro che sparate tutto sulla casella del mio totale
(Form_Ricevute.Form!TotaleRicevuta = GetTotale).
Questa funzione non faccio altro che richiamarla alla pressione del
pulsante
Post by .:: P ::.
Private Sub CalcolaTot_Click()
SetTotale
End Sub
Private Sub Form_Current()
SetTotale
End Sub
In modo tale che ad ogni spostamento di record nella maschera mi si
aggiorni
Post by .:: P ::.
il totale.
Tutto ciò non avviene sempre perchè se mi sposto tra i record la casella
rimane a 0, ma se metto in break nel debug vedo che la funzione viene
eseguita!!! Infatti se torno alla mia maschera vedo che la casella si è
aggirnata con il nuovo totale, ma se non metto nessun break di debug
niente
Post by .:: P ::.
da fare non funzionaaaaa!!!! Sono disperato e incazzato e sopratutto sto
perdendo molto tempo su una cavolata del genere.
Scusate la mia ignoranza Vi prego aiutatemi.
Vi ringrazio per il tempo che mi avete dedicato.
Ciao .:: P ::.
Una puntualizzazione ho anche provato a impostare "origine controllo" di
TotaleRicevuta uguale a GetTotale e in questo modo tutto funzionava
perfettamente mentre scorrevo tra i record della maschera. Ma se
effettuavo
un nuovo inserimento e dovevo ricalcolare il tutto ninete da fare, al clik
Private Sub CalcolaTot_Click()
Me!TotaleRicevuta.ControlSource = "= GetTotale()"
End Sub
Ma niente da fare anche refresh vari non funzionano.
Mi arendo, ciao e Grazie!
dopo aggiornamento della maschera o controllo
metti me.recalc (vedi help)

Ciao Daniele

Daniele
.:: P ::.
2006-01-18 12:03:26 UTC
Permalink
Post by cidi
dopo aggiornamento della maschera o controllo
metti me.recalc (vedi help)
Sto per buttare la spugna ... anzi sinceramente l'ho già buttata sono
disperato!
Anche in questo modo non funziona.
Ho provato anche a lanciare la funzione facendo riferimento alla
sottomaschera ma ninete una volta fatto il recalc che coincide a fare F9 il
valore della casella di testo diventa "0.00".
A questo punto cosa ci potrebbe essere che non va? secondo voi ci può essere
qualche proprietà della casella di testo che può creare problemi? non so più
che dire anche se anche su questo punto ho verificato tutto.

Ciao .:: P ::.
Sergio MAZZA
2006-01-18 14:08:32 UTC
Permalink
Post by .:: P ::.
Ciao a Tutti,
premetto che con access ho qualche difficoltà d'approccio direi a questo
punto, ecco il mio problema.
Ho una maschera al cui interno ho aggiunto differenti sottomaschere, in ogni
sottomaschera posso selezionare dei prodotti e attraverso "origine di
controllo = Somma([PrezzoTotale])" mi imposto il totale su una casella di
testo, tutto questo per ogni sottomaschera.
Poi attraverso una casella di testo collocata questa volta nella maschera
principale (quella che contiene tutte le mie sottomaschere precedentemente
citate), non vorrei far altro che visualizzare il totale.
Per calcolare il mio totale ho creato una funzioncina che non fa altro che
leggerte la casella di testo che contiene il totale per ogni sottomaschera
(es. Form_DettVarie.Form!TotaleVarie) e una volta fatta la somma, non faccio
altro che sparate tutto sulla casella del mio totale
(Form_Ricevute.Form!TotaleRicevuta = GetTotale).
Questa funzione non faccio altro che richiamarla alla pressione del pulsante
Private Sub CalcolaTot_Click()
SetTotale
End Sub
Private Sub Form_Current()
SetTotale
End Sub
In modo tale che ad ogni spostamento di record nella maschera mi si aggiorni
il totale.
Tutto ciò non avviene sempre perchè se mi sposto tra i record la casella
rimane a 0, ma se metto in break nel debug vedo che la funzione viene
eseguita!!! Infatti se torno alla mia maschera vedo che la casella si è
aggirnata con il nuovo totale, ma se non metto nessun break di debug niente
da fare non funzionaaaaa!!!! Sono disperato e incazzato e sopratutto sto
perdendo molto tempo su una cavolata del genere.
Scusate la mia ignoranza Vi prego aiutatemi.
Vi ringrazio per il tempo che mi avete dedicato.
Ciao .:: P ::.
Calma e gesso;
mi fai un esempio di maschera con differenti sottomaschere?

Sarebbe:
- mascheraPrincipale
-- sottomaschera1
-- sottomaschera2
-- sottomaschera3
(tutte allo stesso livello)

oppure:
- mascheraPrincipale
-- sottomaschera1
--- sottomaschera2
---- sottomaschera3
(una dentro l'altra)

e dove sono (e magari come si chiamano) i controlli non associati che
dovrebbero eseguire le somme...

Ciao.
--
Sergio MAZZA
MA
2006-01-18 14:24:58 UTC
Permalink
Post by Sergio MAZZA
Calma e gesso;
mi fai un esempio di maschera con differenti sottomaschere?
- mascheraPrincipale
-- sottomaschera1
-- sottomaschera2
-- sottomaschera3
(tutte allo stesso livello)
- mascheraPrincipale
-- sottomaschera1
--- sottomaschera2
---- sottomaschera3
(una dentro l'altra)
e dove sono (e magari come si chiamano) i controlli non associati che
dovrebbero eseguire le somme...
Uh Sergio, leggi bene il subject.. in entrambi i casi da te prospettati la
somma di sottomaschere
è uguale a 3 sottomaschere
Post by Sergio MAZZA
Ciao.
--
_ _
Ciao
MAssimiliano Amendola www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info: www.donkarl.com/it
Sergio MAZZA
2006-01-18 14:43:08 UTC
Permalink
Post by MA
Uh Sergio, leggi bene il subject.. in entrambi i casi da te prospettati la
somma di sottomaschere
è uguale a 3 sottomaschere
Sigh!
Post by MA
--
_ _
Ciao
MAssimiliano Amendola www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info: www.donkarl.com/it
Ciao.
--
Sergio MAZZA
.:: P ::.
2006-01-18 22:35:17 UTC
Permalink
Post by Sergio MAZZA
Calma e gesso;
Credo che riuscirò a raggiungere questo stato solo dopo che sarò riuscito a
risolvere questo piccolissimo, ma proprio piccolissimo probblemino, che però
NON mi fa FUNZIONARE NULLAaaaa.
Post by Sergio MAZZA
mi fai un esempio di maschera con differenti sottomaschere?
- mascheraPrincipale
-- sottomaschera1
-- sottomaschera2
-- sottomaschera3
(tutte allo stesso livello)
- mascheraPrincipale
-- sottomaschera1
--- sottomaschera2
---- sottomaschera3
(una dentro l'altra)
e dove sono (e magari come si chiamano) i controlli non associati che
dovrebbero eseguire le somme...
Allora la procedura è questa:
1) Ho creato le mie maschere (che poi diventeranno sottomaschere della mia
principale chiamata "Ricevute")
2) Ogni maschera (da ora in poi le chiamerò sottomaschere poiché sono
inserite come sottomaschere nella mi maschera principale) non fa altro che
attingere da una queri che si appoggia a una mia tabella prodotti,
filtrandoli in base a uan tipologgia. In ogni maschera (visualizzata come
figlio dati) ad es. "DettGare" ho inserito nel piè di pagina maschera il
campo testo ad es. TotaleGare la cui origine di controllo è uguale a
Somma([PrezzoTotale]). PrezzoTotale nella mia query è uguale a
"PrezzoTotale:
CCur(DettagliRicevute.PrezzoUnitario*DettagliRicevute.NumeroPz)"
3) Ho seguito questa loggica per tutte le sottomaschere (una per ogni
tipologgia di prodotto) che poi non ho fatto altro che inserire nella mia
maschera principale.
4) Ho creato al mia maschera principale in cui ho inserito tutte le
sottomaschere e in fondo ho inerito il campo testo "TotaleRicevuta" in cui
la proprietà "campo origine = GetTotaleRicevuta()" e il pulsante "Calcola
Totale" su cui non ho fatto altro che Me.recalc all'evento click

Questo è tutto e anche più di quello che mi chiedavate, ma ho una novità
sconvolgente!!!
Premetto la mia maschera principale su cui ho problemi non entra in una
schermata quindi devo scorrere in basso per visualizzare il mio totale o
premere il tasto Calcola Totale.
Ho notato sfruttando il tasto F9, che da quando ho letto (anche grazie a
Cidi), non fa altro che lanciare Me.recalc che se premo il pulsante quando
sono nella parte superiore della maschera (quindi non viene visualizzato il
campo TotaleRicevuta) tutto funziona perfettamente!! Siiii, sce scndo in
basso sorprendemente il campo è stato ricalcolato!!!! Ma se premo F9 quando
visualizzo la parte bassa della maschera e quindi vedo a video il campo
totale niente il campo mi visualizza "0.00". mmmmm che sta SUCCEDENDO????

Vi ringrazio per il tempo e la calma che mi state dedicando.
Ciao .:: P ::.
Sergio MAZZA
2006-01-19 07:38:25 UTC
Permalink
Post by .:: P ::.
1) Ho creato le mie maschere (che poi diventeranno sottomaschere della mia
principale chiamata "Ricevute")
2) Ogni maschera (da ora in poi le chiamerò sottomaschere poiché sono
inserite come sottomaschere nella mi maschera principale) non fa altro che
attingere da una queri che si appoggia a una mia tabella prodotti,
filtrandoli in base a uan tipologgia. In ogni maschera (visualizzata come
figlio dati) ad es. "DettGare" ho inserito nel piè di pagina maschera il
campo testo ad es. TotaleGare la cui origine di controllo è uguale a
Somma([PrezzoTotale]). PrezzoTotale nella mia query è uguale a
CCur(DettagliRicevute.PrezzoUnitario*DettagliRicevute.NumeroPz)"
3) Ho seguito questa loggica per tutte le sottomaschere (una per ogni
tipologgia di prodotto) che poi non ho fatto altro che inserire nella mia
maschera principale.
4) Ho creato al mia maschera principale in cui ho inserito tutte le
sottomaschere e in fondo ho inerito il campo testo "TotaleRicevuta" in cui
la proprietà "campo origine = GetTotaleRicevuta()" e il pulsante "Calcola
Totale" su cui non ho fatto altro che Me.recalc all'evento click
Questo è tutto e anche più di quello che mi chiedavate, ma ho una novità
sconvolgente!!!
Premetto la mia maschera principale su cui ho problemi non entra in una
schermata quindi devo scorrere in basso per visualizzare il mio totale o
premere il tasto Calcola Totale.
Ho notato sfruttando il tasto F9, che da quando ho letto (anche grazie a
Cidi), non fa altro che lanciare Me.recalc che se premo il pulsante quando
sono nella parte superiore della maschera (quindi non viene visualizzato il
campo TotaleRicevuta) tutto funziona perfettamente!! Siiii, sce scndo in
basso sorprendemente il campo è stato ricalcolato!!!! Ma se premo F9 quando
visualizzo la parte bassa della maschera e quindi vedo a video il campo
totale niente il campo mi visualizza "0.00". mmmmm che sta SUCCEDENDO????
Vi ringrazio per il tempo e la calma che mi state dedicando.
Ciao .:: P ::.
Se lo scorrimento della form principale impedisce o crea problemi al
(ri)calcolo della stessa, perché non utilizzi un altro modo per visualizzare
i dati? Ad esempio; inserisci le sottomaschere in una struttura a schede.
Così non hai più bisogno di scorrere nulla; magari potresti fare una scheda
riepilogativa con tutti i calcoli che vuoi...

Ciao.

P.S. Non inviare più di un messaggio riguardo lo stesso problema; ok?
--
Sergio MAZZA
.:: P ::.
2006-01-19 20:37:48 UTC
Permalink
Post by Sergio MAZZA
Se lo scorrimento della form principale impedisce o crea problemi al
(ri)calcolo della stessa, perché non utilizzi un altro modo per visualizzare
i dati? Ad esempio; inserisci le sottomaschere in una struttura a schede.
Così non hai più bisogno di scorrere nulla; magari potresti fare una scheda
riepilogativa con tutti i calcoli che vuoi...
Per ora per risolvere il problema non ho fatto altro che piazzare il mio
pulsante per il ricalcolo in testa alla maschera in modo che l'utente sia
costratto a andare in testa per effettuare il ricalcolo nascondendo la
casella di testo.
La tua soluzione è un alternativa anche ma sarei sempre costretto a porre il
tasto di ricalcolo in un'altra maschera.
Comeque non riesco a capire coem mai si verifichi tutto ciò possibile che
non è mai accaduto a nessuno?
Una domanda per fare uan maschera a schede?
Post by Sergio MAZZA
P.S. Non inviare più di un messaggio riguardo lo stesso problema; ok?
Hai perfettamente ragione. Mi scuso con tutto il gruppo.
Post by Sergio MAZZA
--
Sergio MAZZA
Sergio MAZZA
2006-01-20 08:06:07 UTC
Permalink
Post by .:: P ::.
Per ora per risolvere il problema non ho fatto altro che piazzare il mio
pulsante per il ricalcolo in testa alla maschera in modo che l'utente sia
costratto a andare in testa per effettuare il ricalcolo nascondendo la
casella di testo.
La tua soluzione è un alternativa anche ma sarei sempre costretto a porre il
tasto di ricalcolo in un'altra maschera.
Ora non ho bene in mente tutta la tua struttura di controlli annidati e
calcoli ma è anche possibile che se vengono sfruttati bene gli eventi non ci
sia bisogno di effettuare a mano il (ri)calcolo.
Post by .:: P ::.
Comeque non riesco a capire coem mai si verifichi tutto ciò possibile che
non è mai accaduto a nessuno?
Per quanto mi riguarda evito di creare maschere più grandi della dimensione
dello schermo; se è necessario (come ti dicevo) dare la possibilità di
visualizzare più informazioni riguardo al soggetto utilizzo una struttura a
schede o a maschere popup.
Post by .:: P ::.
Una domanda per fare uan maschera a schede?
Casella degli strumenti - Controllo Struttura a schede.
Quella che vedi nella finestra delle proprietà, dove hai le "linguette" con
dei nomi e una volta cliccate ti visualizza altre informazioni.
Post by .:: P ::.
Hai perfettamente ragione. Mi scuso con tutto il gruppo.
Ciao.
--
Sergio MAZZA
Loading...