bean_bandit ha scritto:
@Alex ha scritto:
Non ho capito nulla...!
Semplicemente voglio lanciare una function dopo la chiusura di una form o un report, non su chiusura, ma dopo quando la form\report sono effettivamente chiusi, è possibile?
Facciamo una premessa... per rendere questo processo indipendente dall'oggetto(Form/Report) servirebbe che l'oggetto venisse aperto in modalità SINCRONA, questo significa usando il parametro [acDialog].
In questo modo il codice, dopo l'OPEN si sospende e riprende alla chiusura naturale dell'oggetto stesso.
Questo è il modo che normalmente si usa.
DoCmd.OpenForm "NomeForm", , , , , acDialog
' Quì il codice riprende SOLO dopo la chiusura della Form
Se questa modalità non dovesse andare bene, ci sono alcune implicazioni grafiche ma di solito non ci si accorge...(ad esempio il Bordo anche se messo assente si visualizza come se fosse POPUP), serve creare una procedura sincrona di attesa... che è meno simpatica
'Nella Funzione chiamante
DoCmd.OpenForm "NomeForm"
Do
DoEvents '** VERY important ...
Loop Until Currentproject.AllForms("NomeForm").IsLoaded
Ora se vuoi scrivere una Funzione GENERICA, puoi affidarti benissimo ad un minimo di interazione con il VBA...