Newsgroup: it.comp.appl.access
Titolo: [OT]  Urgente aiuto esperti per verifica db semplice ma di lenissima esecuzione.

Ciao a tutti, sto sviluppando un database per il calcolo della rotta di volo 
+ altri calcoli utili per il volo stesso, purtroppo, per quanto sia a buon 
punto, mi fa impazzire perchč non riesco a capire il motivo della sua 
lentezza nell'esecuzione dei calcoli; cosě č praticamente inutilizzabile, 
considerando che in ogni volo ci sono circa 15 punti da sorvolare..
All'interno sono presenti due tabelle, un query (preciso che ho provato a 
suddividere i calcoli in piů query, ma il db č lento comunque) e una 
maschera principale con sottomaschera. dovrebbe andare come una scheggia ma 
non č cosě. Ho provato anche con menu  Trumenti\Analizza\Prestazioni; sembra 
tutto OK. Inoltre non capisco come mai la Somma([Cammino]) da come risultato 
il doppio di quello che dovrebbe dare, ma questa č un'altra storia, al 
momento, secondaria.
Il db č molto piccolo, chi č cosě gentile da darmi un mano, anche piů 
persone, puň darmi l'Ok per inviargli il database.
Mille grazie
Bruno

 persone, può darmi l'Ok per inviargli il database.
Ti rispondo "PRESENTE" solo perchè curioso del sistema di volo... ;-)
Fà vedè che'dè!!!!
PS
Mi raccomando spiegami la cosa per benino nella mail sottostante...
pablitomf (at) virgilio (point) it
maurizio (point) facciuti (at) accessgroup (point) it
-- 
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97, 2000, XP e 2003
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media." 

 motivo della sua lentezza nell'esecuzione dei calcoli;
ai tempi dei tempi ricordo che se un programma doveva eseguire svariate 
migliaia/milioni di volte una serie di funzioni (trigonometriche p.e.) 
conveniva calcolare tutti i valori possibili in prima battuta e tabellarli 
per poi accedere velocemente al risultato
ma parlo di quando un computer POTENTE era un 286/12 ;)
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\

 Bruno
Anche se dici di averlo già fatto, voglio vedere che combino.
Mandalo all'indirizzo in chiaro...
Ciao.
-- 
Sergio MAZZA 

 Bruno
Ti ho risposto per e-mail; ma la ripropongo anche qui nell'NG.
Secondo me ti conviene inserire tutti i campi da calcolare nella tabella.
Sulla maschera, intestazione maschera, inserire una casella di controllo con 
valore predefinito 0(zero) e chiamarla (es.) "valoreCambiato".
Gestisci, per ogni casella di testo utile al calcolo, gli eventi "su 
modifica" e "su uscita".
Nell'evento "su modifica" inserisci:
me!valoreCambiato = -1
Nell'evento "su uscita":
if me!valoreCambiato then
    me!nomeControlloCalcolato = ...calcolo da effettuare...
    me!valoreCambiato = 0
end if
Praticamente si tratta di scatenare il calcolo (o altra funzionalità) solo 
quando viene modificato un valore in una delle caselle di testo utili per il 
calcolo (o la funzionalità).
In questo modo, il caricamento/scorrimento nel recordset non viene 
influenzato dai vari ricalcoli effettuati dall'evento "su corrente"...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:f56nka$mfg$1...@tdi.cu.mi.it...

Ciao Sergio, penso di non aver capito bene il tuo procedimento; comunque, se
ho ben interpretato, ritengo che i valori dei record "corrente+1" letti con
il DLookup debbano restare così, in quanto mi permette di inserire una sola
volta ogni località sorvolata. Considerando che il calcolo della Rotta e
della distanza si effettua trovando e differenze fra le coordinate di
partenza e quelle di arrivo, ecco che Il DLookup mi  mi permette di leggere
il record successivo che in query viene indicato come NomecampoArr. Oggi ho
aggiunto qualcosa e sembra che vada abbastanza veloce, anche se non è una
scheggia, probabilmente dovuto ai calcoli dei coseni, seni, ecc.; cosa ne
pensi? Sarà per questo ?
Ora resta il grande problema del calcolo del totale   [Cammino]    che non è
altro che la distanza totale percorsa; come sicuramente hai potuto
constattare se hai cancellato e inserito nuovi record, nel primo è Ok, poi
quando inserisci un altro record con i sottorecord (coordinate, tanto per
essere più chiaro) allora sballa perchè calcola tutti i record. Questo
problema lo hai affronatato ? Oppure è quello che stavi cercando di farmi
capire con la tua spiegazione ?
Allego l'ultimadb elaborato, ricordati che devi cambiare l'estensione.
Grazie, Bruno

 ha scritto nel messaggio 
news:f58go1$6m1$1...@tdi.cu.mi.it...

==============================
Mhhhh, devo analizzare il problema e provare.
Scusami, per la somma totale dei record della sottomaschera continua pensi 
che funzioni il DSum() ?
Ora ci provo. La cosa sta diventando un pò macchinosa; mai avuto questi 
problemi di calcolo con Access, anche con altri db che contenengono molti 
calcoli da fare, mi sembra che ciò che crea problemi è solo il calcolo di 
tutte le funzioni trigonometriche. Incomincio a disperarmi.
Ciao, Bruno 

 Ciao, Bruno
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:f5aqp2$fag$1...@tdi.cu.mi.it...

====================
Scusa Sergio, ho guardato l'help, ma non sono certo di aver capito bene; il 
metodo Dsum() può essere utilizzato anche in una form ? Oppure solo nelle 
query e nei report.
Invece di andare avanti mi sembra che, in questo periodo, sto retrocedendo.
Ora devo andare, ho alcuni impegni.
Ciao, Bruno 

 ai tempi dei tempi ricordo che
ho ricevuto in privato il db (non richiesto), appena posso gli do 
un'occhiata


 Ciao, Bruno
Ciao.
-- 
Sergio MAZZA