Newsgroup: it.comp.appl.access
Titolo: aggiornamento calcoli su form

ciao,
ho un file adp che legge da un msde
una delle tabelle contiene delle formule del tipo
campo1
campo2=campo1*2
campo3=campo1*3
campo4=campo2+campo1*3
etc etc
ho ora una maschera continua che visualizza tali campi orrizontalmente.
Il mio problema è che a variare del campo1, i rimanenti campi vengono 
aggiornati solamente quando abbandono la riga per passare a quella 
successiva, mentre io vorrei che l'aggiornamento fosse istantaneo.
Ho provato con un refresh o un recalc sull'evento modifica ma non si risolve
Qualche suggerimento?
ciao
Mat

 Qualche suggerimento?
Togli i campi calcolati dalla tabella e sposta quel concetto nell'interfaccia 
grafica.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

 ha scritto nel messaggio 
news:875ea355219098...@news.tin.it...

ciao...
metto di prassi le formule nel msde perchè mi sembra di aver letto che è 
molto meglio a livello di prestazioni.
inoltre semplifica di molto l'esecuzione di totali sulle varie colonne e non 
sono obbligato a riscrivere le formule per il conteggio dei valori anche nei 
report che derivano dalle maschere. Inoltre non devo gestire eventi su 
modifica dei vari campi o della form.
Inoltre tu riesci in una form continua a mettere un campo calcolato del tipo 
campo3=campo2*campo1 e poi nel piede della maschera avere il totale della 
colonna campo3? io in msde non ci sono mai riuscito..mi da sempre o #errore 
o #nome
sia con totale=sum(campo3)  che con totale=sum(campo2*campo1 )
ciao, mat

 colonne calcolate?
ne ho una 50ina..e le formule sono espressioni di 40-50 valori
:-)
Mat 

 sia con totale=sum(campo3)  che con totale=sum(campo2*campo1 )
Se si tratta di un campo calcolato, allora non so dirti, visto che io li 
evito come la peste.
Se si tratta di un controllo calcolato, allora non ho mai avuto problemi. 
Ho solo usato il seguente accorgimento: utilizzo nella funzione di dominio 
(Somma, Conteggio, Media.....) come parametro il nome del controllo e non 
l'istruzione.


 ne ho una 50ina..e le formule sono espressioni di 40-50 valori :-)
Se proprio hai bisogno di fare tanti calcoli e non vuoi inserirli nell'interfaccia 
grafica, allora puoi sempre crearti una vista su MSDE e mettere al suo interno 
tutti i campi calcolati che desideri.
E' sicuramente performante, inoltre è una scelta migliore anche dal punto 
di vista della sicurezza, perché ti permette di nascondere all'utente la 
struttura reale dei dati: l'utente vede così tutto e solo quello che tu vuoi 
che lui veda.


 ha scritto nel messaggio 
news:875ea355219308...@news.tin.it...

mi vuoi dire che con i file adp tu riesci a fare una cosa del genere:
crea una tabella pippo con campo1 int e campo2 int
crei una form continua che poggia sulla tabella con 3 textbox
text1 con origine campo1
text2 con origine campo 2
text 3 con origine =text1*text2
sul piede della form metti una textTOT con origine=somma(text3)
e tutto ti viene visualizzato correttamente?
Mat

 e tutto ti viene visualizzato correttamente?
No, sono stato un po' sbrigativo nel mio post.
Utilizzo una tecnica che mi permette di non avere questi problemi.
1) creo tabella pippo come hai detto tu
2) creo una vista qryPippo dove vado ad inserire anche i campi calcolati
(SELECT campo1, campo1, campo1+campo2 AS campo3 FROM dbo.pippo)
3) creo una form continua associata a qryPippo, con 3 textbox, tutte associate 
(text1 a campo1, text2 a campo2, text3 a campo3)
4) nel più di form metto una textTOT con origine "=Somma([campo3])"
e tutto viene visualizzato correttamente.
Però, non è tutto oro quel che luccica perché:
1) da Access la query non è aggiornabile perché contiene campi calcolati
2) non posso comunque impostare l'origine di textTOT a "=Somma([text3])
3) nel caso in cui siano presenti più campi calcolati e per anche uno solo 
ci siano dei problemi di calcolo, Access visualizza #Error? per tutti i campi 
calcolati.



a me la maschera serve anche per caricare i dati che devono essere valutati 
proprio in base a come si comportano le formule variando i valori...per 
questo mi serviva un aggiornamento in tempo reale
proverň a chiedere nel news di sql server
ciao, Mat

 proverò a chiedere nel news di sql server
Puoi provare, ma credo che non ti potranno aiutare, in quanto il problema 
è Access, non SQL Server.
Infatti la vista di cui ti ho parlato è tranquillamente aggiornabile da SQL 
Server Management Studio.
