Newsgroup: it.comp.appl.access
Titolo: Interrompere l'esecuzione del codice quando si apre una maschera

A2K & progetto ADP
Durante la compilazione di una maschera avrei la necessità di aprirn
un'altra e bloccare l'esecuzione del codice finchè tale mashceda viene
chiusa.
Normalmente questa funzionalità l'ottengo utilizzando l'opzione acDialog
dell'oggetto DoCmd.
Se apro la maschera in questo modo, però, non posso applicare sulla stessa
nessun tipo di filtro...
Come posso fare per avere una finestra "popup like" con la possibilità di
filtrare i dati secondo lo standard di Access?
Grazie per i suggerimenti.
Giorgio

 ha scritto nel messaggio
news:c53167$jck$1...@newsreader.mailgate.org...

Invece di aprire la nuova maschera con l'opzione acDialog, aprila normale e
tutto il codice che vuoi resti bloccato sino alla chiusura della maschera
generalo a fronte dell'evento "Su chiusura" della maschera stessa.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 generalo a fronte dell'evento "Su chiusura" della maschera stessa.
Non resta bloccato. L'esecuzione continua dall'istruzione successiva al
DoCmd.openform.

 ha scritto nel messaggio
news:c53enu$7bs$1...@newsreader.mailgate.org...

Questo è chiaro, visto che non usi più l'opzione acDialog nel metodo
OpenForm; però io ti avevo anche suggerito di spostere le righe di codice
VBA successive al DoCmd.openform nell'evento "Su chiusura" della maschera
aperta con la DoCmd.openform; così facendo quella part di codice verrà
eseguito solamente dopo la chiusura della maschera; naturalmente potrebbe
essere necessario modificare marginalmente un po' i riferimenti agli oggetto
del codice VBA: ad esempio invece di scrivere Me!Pippo dovrai scivere
Forms!NomeMaschera!Pippo.


 Forms!NomeMaschera!Pippo.
Non posso, il codice si deve interrompere in attesa della selezione di un
record il cui campo codice costituirà parte essenziale per il prosegue
dell'elaborazione...
Devo trovare un sistema.

 ha scritto nel messaggio
news:c53pd1$np7$2...@newsreader.mailgate.org...

Mi dispiace ma allora non ho capito il tuo problema.
Quello che ti ho consigliato ti permette di eseguire parte del codice solo
alla chiusura della maschera popup, ma ti permette di eseguire il filtraggio
della maschera.


 ha scritto nel messaggio
news:c53167$jck$1...@newsreader.mailgate.org...

Ciao Giorgio,
apri la maschera, inneschi un ciclo che viene terminato solo alla chiusura e
prosegui con il codice.
----------------------------------
DoCmd.OpenForm "NomeFrm"
'ecc ecc
'.....
Do
  DoEvents
  If CurrentProject.AllForms("NomeFrm").IsLoaded = False Then
     Exit Do
  End If
Loop
MsgBox "Maschera Chiusa"
-------------------------------------
Se la tua versione di access non ha Currentproject puoi ripiegare sul metodo
SysCmd.
Ovviamente la maschera non è in modalità PopUop.
Ciao Giorgio

 della maschera.
In realtà accade questo: ho una funzione che deve restituire un riferimento
a un record di una tabella.
Ho fatto così:
in avvio della funzione apro la maschera in modalità dialogo;
alla chiusura della maschera, che è condizionata alla selezione di uno dei
record della tabella associata come origine dati, copio il riferimento al
record in una variabile pubblica;
a questo punto la funzione restituisce come risultato il contenuto della
variabile pubblica.
E' evidente che se io non riesco a stoppare il codice PRIMA della chiusura
della maschera, l'esecuzione della funzione termina immediatamente
restituendomi il contenuto della variabile pubblica che sarà... quel che
sarà ma di certo non il riferimento al record selezionato dall'utente.
Non so se hai capito il problema...
Giorgio

 prosegui con il codice.
Sě, potrei provare cosě...
Grazie