Newsgroup: it.comp.appl.access
Titolo: requery di sottomaschere

Ho realizzato una maschera (Mask) che contiene al suo interno un menù ed una 
sottomaschera (Sub1); a seconda dei valori selezionati nel menù viene
collegata a Sub1 la maschera Mask1 piuttosto che la Mask2, ecc. tutte 
mostranti elenchi di record in modalità 'maschere continue', tramite il 
comando:
        Sub1.SourceObject ="Mask1".
Ho previsto la possibilità di aprire una maschera di edit (MaskEdit) che si 
apre per l'editing del singolo record selezionato in Mask1, in modalità 
'popup' e 'dialog'.
E' presente un pulsante per il salvataggio delle eventuali modifiche 
apportate che dovrebbe anche aggiornare i records in Mask1 visualizzando gli 
aggiornamenti, tramite il comando:
            Forms!Mask!Sub1.Form.Requery
Purtroppo tali aggiornamenti non sono mostrati, se non ad una successiva 
modifica, che restituisce sempre la situazione precedente all'ultima 
modifica.
Ho provato ad aggiungere un pulsante nella Mask1, che tramite il comando
        me.requery
esegue correttamente l'aggiornamento del recordsource.
Come posso avere l'aggiornamento corretto dei records visualizzati nella 
subform, all'atto del salvataggio delle modifiche nella mashera di edit, o 
almeno alla chiusura della stessa?
Grazie anticipatamente.
Dani

            Forms!Mask!Sub1.Form.Requery
prova in questo modo:
Forms!Mask!Sub1.Form.Requery
Forms!Mask!Sub1.Form.Refresh
e facci sapere
Michele

 Michele
Forse sarebbe meglio il contrario (Refresh-->Requery); anzi, se il recordset non deve essere "modificato" (es. tolto un filtro o 
aggiunto un nuovo record) il requery non sarebbe necessario e la sua assenza velocizzerebbe la visualizzazione dei dati 
modificati...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio news:eva6t5$mht$1...@tdi.cu.mi.it...

Tale sequenza io l'ho usata in occasione di un passaggio particolare nel mio db, e mi ricordo che le 
cose andavano come Dio comandava solo con Requery>Refresh. Resta il fatto che i due medodi 
sembrerebbero simili come risualtato, ma per certi casi diventano complementari.
Ma perchè secondo te è meglio il contrario? Non sarebbe meglio prima rinfrescare la query e poi 
tutta la maschera che ci sta sopra?
Buona Pasqua
Michele 

 Buona Pasqua
Il Refresh è utile soprattutto in un uso MultiUtente nel quale altri
possono accedere
alla stessa origine dati ed apportare modifiche.
Il metodo Refresh mostra solo le modifiche apportate ai record del set
corrente. Poiché il metodo Refresh non riesegue effettivamente la
query sul database, il set corrente non include record aggiunti o non
esclude record eliminati dal momento in cui è stata ripetuta per
l'ultima volta una query sul database. Il metodo non esclude nemmeno i
record che non soddisfano più i criteri della query o del filtro. Per
rieseguire una query sul database, utilizzare il metodo Requery.
Quando si riesegue una query sull'origine record di una maschera, il
set corrente di record rifletterà accuratamente tutti i dati contenuti
nell'origine record.
Mi pare chiaro.... è l'Help non mi sono inventato nulla.
Ne consegue che i 2 metodi non sono assolutamente equivalenti, quindi
la considerazione di Sergio è più che corretta.
Il fatto che tu abbia dovuto eseguire entrambi è anomalo, Requery
effettua di per se anche il Refresh, quindi trovo quanto dici sintomo
di un'anomalia non una regola da perseguire.
@Alex

 ha scritto nel messaggio 
news:1176047133.0...@l77g2000hsb.googlegroups.com...






@Alex
.................
Grazie, per la teoria. Ma quale è la causa della mancata visualizzazione dei 
record corretti?, nonostante sia stata effettuata la requery dalla maschera 
di edit che si chiude?
Daniele 

 di edit che si chiude?
1) Ma visto che la maskedit e' in dialog non ti conviene rifare la 
requery quando torni su mask1? Come sai il codice di mask1 viene sospeso 
sulla chiamata al form "dialog"
2) Da maskedit io proverei una movenext o moveprevious sul recordset 
prima della requery e/o controllerei ben bene la sequenza delle 
operazioni sembra quasi che la requery la fai "prima" di salvare il record.
-- 
ac
y-1=x

 wrote:
[Cut]
Il fatto che tu abbia dovuto eseguire entrambi è anomalo, Requery
effettua di per se anche il Refresh, quindi trovo quanto dici sintomo
di un'anomalia non una regola da perseguire.
@Alex
In effetti sul pc di casa tutto andava liscio, invece con il WinME che ho al lavoro ho dovuto 
utilizzare questa unica strada per far funzionare il tutto.....
Mi sa che in questo caso allora si tratta di anomalia, e con il WinMe/OffXP che ho al lavoro ne sono 
saltate fuori a bizzeffe..... Ma cose assurde! Talmente assurde che le ho rimosse per non mettermi a 
imprecare ogni volta che ci penso.
Michele