Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aggiornamento maschera aperta

326 views
Skip to first unread message

Lo

unread,
Mar 11, 2020, 1:10:57 PM3/11/20
to
Ciao a tutti,

il mio problema di oggi è il seguente:

ho una maschera continua che si chiama BefRicevuteAC con nell'origine dati una query di raggruppamento che non si può modificare.
All'interno di questa maschera ho un campo che si chiama Controllo Sì/No che quindi non posso aggiornare.
Per farlo (cliccando due volte sull'Id del record che si chiama IdBef) apro in un'altra maschera il singolo record, fleggo il campo Controllo e su chiusura ho inserito il seguente codice che dovrebbe in teoria andare ad aggiornare i dati presenti nella maschera aperta BefRicevuteAC

If CurrentProject.AllForms("BefRicevuteAC").IsLoaded = True Then
Form![BefRicevuteAC]!IdBef.Requery
Form![BefRicevuteAC]!Controllo.Requery
End If

Però quando ritorno nella maschera BefRicevuteAC non vedo nessun aggiornamento finchè non uso F5 (Aggiorna).

Dove sto sbagliando? Vorrei che funzionasse senza cliccare su Aggiorna...

Qualcuno riesce ad illuminarmi?

Grazie mille in anticipo

@Alex

unread,
Mar 13, 2020, 1:57:37 PM3/13/20
to
Se non apri la maschera in modalità acDialog è ovvio tu non veda nulla...

@Alex

Lo

unread,
Mar 14, 2020, 9:53:37 AM3/14/20
to
Il giorno venerdì 13 marzo 2020 18:57:37 UTC+1, @Alex ha scritto:
> Se non apri la maschera in modalità acDialog è ovvio tu non veda nulla...
>
> @Alex

Ciao Alex,
grazie mille per il tuo intervento.
Devo dirti però che non ho mai utilizzato acDialog per aggiornare maschere aperte e in altri casi ha sempre funzionato, nelle altre occasioni però le maschere non erano come questa derivanti da query incrociate.
E comunque ho provato e non aggiorna comunque...
Hai un'altra idea?
Ti ringrazio per la pazienza che riponi a chi, purtroppo, non conosce access come te...

@Alex

unread,
Mar 14, 2020, 10:39:22 AM3/14/20
to
Il metodo che hai proposto non può funzionare in nessun caso..., quindi fatico a capire come tu possa averlo usato con successo.
Il motivo che intende impossibile è che l'apertura della maschera di Editing avviene in modo ASINCRONO, quindi quel.codice viene eseguito appena aperta la maschera e sincero non sono ancora state eseguite le modifiche...
Quindi il requery viene eseguito ma inutilmente ai fine del reale funzionamento.

Quindi usando acDialog contrariamente l'apertura della maschera è SINCRONA ed il codice di requery non viene eseguito fintanto che la form non viene chiusa, o diventa non visibile.

Puoi verificare questo mettendo un breakpoint e testando l'effettivo stop del codice.

Detto questo il fatto sia una query a campi incrociati o raggruppata, entrambe non editabili, non cambia nulla nel contesto...

Tuttavia il motivo per cui non funziona è che tu esegui il requery se la form è aperta... ma questo va bene se nella form hai attivo il.codice che la rende non visibile... mentre se la chiudi devi semplicemente togliere il controllo isloaded che non serve ed eseguire direttamente il Requery.

@Alex

Lo

unread,
Mar 14, 2020, 1:25:59 PM3/14/20
to
Non capisco,
io il codice lo inserisco in chiusura della maschera dove faccio le modifiche, non sull'apertura.
Quindi provo a spiegare meglio il mio procedimento: ho una maschera continua
IdBef Data Numero Controllo
1 01/01/2020 123 no
2 02/01/2020 456 no
ecc...
cliccando due volte su IdBef= 1 per esempio faccio in modo che mi apra la maschera Bef 1 con tutti i suoi dati dentro. Faccio la modifica che mi serve (in questo caso Controllo = yes) e chiudo. In chiusura gli dico di fare il requery solo se vede che la maschera BefRicevuteAC è aperta, altrimenti non deve fare nessun requery... Mi ha sempre funzionato per altre occasioni di uso... e se non applicavo questo metodo non faceva nessun requery...
Come posso quindi simulare il tasto F5 alla chiusura della maschera Bef per aggiornare la maschera BefRicevuteAC...?
Grazie per la tua pazienza...

@Alex

unread,
Mar 14, 2020, 1:32:08 PM3/14/20
to
Devi fare questo:

DoCmd.OpenForm "Bef 1", , , , , acDialog
Form![BefRicevuteAC]!IdBef.Requery
Form![BefRicevuteAC]!Controllo.Requery


Saluti
@Alex

lorena...@gmail.com

unread,
Mar 14, 2020, 1:33:17 PM3/14/20
to
Chiedo venia...
Ho scoperto l'errore...
Non mettevo il codice in chiusura maschera Bef ma in un tasto che mi faceva una serie di operazioni.
Ora funziona
Grazie mille comunque per il tuo intervento!

@Alex

unread,
Mar 14, 2020, 1:40:04 PM3/14/20
to
Qualche cosa che non quadra c'è... ma se funziona...

@Alex
0 new messages