Newsgroup: it.comp.appl.access
Titolo: Evento di una machera lanciato da un'altra

Riprendo un tread che č morto a causa della mia poca chiarezza nell'esporre 
il quesito.
Vorrei invocare un evento di un controllo presente in un'altra maschera.
Il problema č che vorrei passare il nome dell'evento tramite una variabile 
globale.
Ho provveduto a modificare l'evento in Public anzichč Private (quindi 
visibile da altri moduli).
Non so come riferirmi agli Eventi di una maschera.
Nel caso di un controllo posso riferirmi all'insieme Controls dell'insieme 
Forms :
Forms("miaMaskera").Controls("mioControllo").Requery
Ma come invocare il "mioEvento" (del controllo sopracitato)?
Questo mi succede perchč l'utente deve immettere un nominativo da una 
anagrafica molto estesa, e a volte (a causa di abbreviazioni, articoli, 
denominazioni strane) crede di non aver trovato l'azienda cercata e cosě me 
ne immette una simile (DOPPIA!!!) creando tutti i problemi del caso. Ma le 
caselle a discesa che elencano le azienda sono disseminate in svariate 
maschere, per molti usi. Ecco che devo tenere traccia di quale maskera ha il 
controllo che ha invocato la maskera ANAGRAFICA che dopo l'inserimento o 
selezione della azienda , deve rieseguire la QUERY sul controllo giusto ed 
eseguire in seguito l'evento "MIOCONTROLLO_AFTERUPDATE".
Spero di essere stato piů chiaro della volta precedente.
grz   Ivan 

 
Ma un controllo di un eventuale doppione no eh? Magari gestendo l'evento 
"prima di aggiornare" della form...
Comunque se hai modificato la sub da private a public puoi già 
utilizzarla ma se devi personalizzarla allora cambiagli nome e 
inseriscigli la richiesta dei parametri necessari:
es. (anche da inserire in un modulo)
Sub requerizza(nomeForm as string, nomeControllo as string)
	forms(nomeForm).controls(nomeControllo).Requery
End sub
E la richiami con: requerizza "nomeForm","nomeControllo"
Per gli eventi delle maschera devi spiegarti meglio su che cosa dovresti 
ottenere...
Ciao.
- -
Sergio MAZZA


Vedi il punto č questo: l'evento da richiamare dipende dal controllo che ha 
invocato ANAGRAFICA.
Come dicevo, ci sono almeno 28 controlli (sparsi nelle varie maschere) che 
generano questa sequenza.
Il problema č semplice :
 HO IL NOME DELLA MASCHERA
 HO IL NOME DEL CONTROLLO
 HO IL NOME DELL'EVENTO (che volta  a volta deve essere richiamato)
come faccio a richiamare l'EVENTO mettendolo in una variabile?
Al di la della giustezza del mio approccio, credo sia interessante sapere 
come invocare un evento in questo kodo.
grz 1k     Ivan 

 grz 1k     Ivan
Mhmm... Ma se sai quale evento richiamare perché il devi mettere in una variabile, non ha senso; e non ha senso richiamare un evento 
specifico perché fa "una certa cosa, in quella certa maschera". Ti crei una subroutine/function che, passandogli i parametri adatti 
ti esegue le istruzioni giuste.
Visto che sai:
- IL NOME DELLA MASCHERA
- IL NOME DEL CONTROLLO (da requeryzzare, spero)
- IL NOME DELL'EVENTO (che volta  a volta deve essere richiamato)
cambi la situazione passando alla sub/function:
- IL NOME DELLA MASCHERA
- IL NOME DEL CONTROLLO (da requeryzzare, spero)
- IL RECORDSET DA CONTROLLARE/MODIFICARE (se necessario)
- (eventualmente) L'AZIONE DA ESEGUIRE
Consiglierei una function che ti ritorna il valore True se è stata trovata già una corrispondenza con il dato inserito.
Comunque che io sappia, non puoi richiamare una sub evento di un'altra maschera...
Ciao.
-- 
Sergio MAZZA 


finalmente una risposta definitiva!
Io so qual'è l'evento, ma non so a priori di quale controllo.
Ecco perchè avrei messo direttamente tutto il nome dell'evento ....
Ma mi chiedevo se non fosse possibile con un altro metodo passare 
"MIONOMECONTROLLO" & "_AFTERUPDATE"
cioè comporre il nome al volo ..... mmmmm
grazie della risposta precedente   Ivan
PS
pensavo che esistesse un insieme PROCEDURES legato ai controlli o forse alla 
maschera, ma non ho trovato nulla.

 pensavo che esistesse un insieme PROCEDURES legato ai controlli o forse alla maschera, ma non ho trovato nulla.
Intendi una collezione di eventi?
Ciao.
-- 
Sergio MAZZA