11/04/2024 - bruma ha scritto:
Primo mistero: facendo debug si vede che l'evento corpo format viene eseguito due volte
Ciao,
prima di tutto è doveroso affermare che non si tratta di misteri ma di cose ben note e nulla viene fatto a caso.
Quindi nessun mistero! ;-)
Ms Access Report, soprattutto se ci sono calcoli particolari, si comporta proprio così… esegue tutte le letture che necessitanop per completare il codice a cui è sottoposto.
Quindi no Mistero ma Normale. … fa così !! evidentemente ha bisogno, come in altri molti casi in sistemi non Ms Access, di eseguire elaborazioni spacchettando i problemi e risolvendoli poco alla volta. Un pò come fanno le AI che spacchettano le informazioni per riuscire a trovare corrispondenze per la ricerca delle risposte più attinenti al quesito da risolvere. Questo sistema velocizza l'elaborazione delle informazioni con risposte più soddisfacenti.
11/04/2024 - bruma ha scritto:
Secondo mistero: se l'ultima riga del corpo capita a fine della pagina, nel suo piè di pagina non trovo più i dati totalizzati.
No mistero ma possibile che capiti. Quindi è Normale anche se non ci piace.
In sostanza quando l'ultima riga del report si trova alla fine della pagina, Ms Access ha bisogno di capire se esiste o meno la necessità di eseguire il salto pagina o cambio di sezione o fine report. In pratica non lo sa fino a quando non si cerca di cambiare pagina anche se di fatto non esistono più pagine da formattare. In questo caso Ms Access completa la formattazione della pagina solo quando è sicuro che non esistono altre pagine.
Quindi questo può accadere ed è risolvibile forzando i calcoli di fine pagina. Oppure assicurarsi di gestire in modo appropriato quando e come deve essere cambiata pagina o sezioni o fine report, interagendo con le proprietà del report. Fai dei test e probabilmente troverai la giusta impostazione delgli eventi prima e dopo salto pagina/sezione/fine report in modo che il report possa essere completamente formattato con i dovuti calcoli a fine pagina e possa calcolare correttamente i totali di piè pagina.
Fare anche attenzione se e come e quando devono essere riportati i totali di pagina interpretando correttamente “fine della pagina” e “fine del report” che sono due cose (eventi) diverse come ben saprai.
11/04/2024 - bruma ha scritto:
Scusate la mia ignoranza,
Non è questione di ignoranza, ma è che non siamo abituati e non ragioniamo come ragiona Ms Access. Abbiamo due logiche diverse. ;-)
Noi possiamo risolvere problemi e calcoli in modo sequenziale (prima uno e poi un altro e così via)… le macchine lo fanno in modo parallelo risolvendo più problemi e calcoli nello stesso momento e da qui la necessità di spacchettare le informazioni per poi ricomporle restituendo i risultati finali. Sarà per questo che le macchine sono più veloci di noi a risolvere problemi e calcoli ? Sicuramente usano meglio di noi la memoria e la capacità di calcolo.
Però non hanno emotività, ingegno e creatività … pertanto non hanno inventiva.
Quindi in questo siamo più bravi noi rispetto alle macchine. …. però siamo lenti ;-))
Vabbè , più o meno (forse più meno che più) le cose stanno così, o le possiamo, a grandi linee, vederle in questo modo.
Ciao ;-)
P.S: esiste anche un Terzo Mistero… ma quest'ultimo appartiene alla fede… ;-)