Discussione:
evento lanciato da un'altra maschera
(troppo vecchio per rispondere)
Ivan da casa
2005-07-01 19:58:02 UTC
Permalink
Il problema:

da una maschera ditte, aggiornare un controllo in un'altra maschera.

Il problemone :

dopo effettuato il requery del controllo, vorrei lanciare l'evento
collegato
all' afterupdate del controllo stesso!

Non so come riferirmi (lanciare, eseguire, runnare) ad una sub contenuta
in
un'altra maschera.

grz x aver letto, e .... per averci pensato !

Ivan
SunRex
2005-07-01 21:53:02 UTC
Permalink
Post by Ivan da casa
da una maschera ditte, aggiornare un controllo in un'altra maschera.
dopo effettuato il requery del controllo, vorrei lanciare l'evento
collegato
all' afterupdate del controllo stesso!
Non so come riferirmi (lanciare, eseguire, runnare) ad una sub contenuta
in
un'altra maschera.
grz x aver letto, e .... per averci pensato !
Ivan
Puoi far riferimento da una form ad un'altra utilizzando L'oggetto Forms.
Se per esempio devi aggiornare una lstBox di una form da un'altra form
su un pulsante della prima forms scrivi

Forms!frmB.lstLista.requery.

Se devi eseguire un requery di una form da un'altra

Forms!frmB.requery

e così via.....

SunRex
yronium
2005-07-01 23:16:54 UTC
Permalink
[...CUT...]
Post by SunRex
Puoi far riferimento da una form ad un'altra utilizzando L'oggetto Forms.
Se per esempio devi aggiornare una lstBox di una form da un'altra form
su un pulsante della prima forms scrivi
Forms!frmB.lstLista.requery.
Se devi eseguire un requery di una form da un'altra
Forms!frmB.requery
e così via.....
inoltre, puoi richiamare una qualsiasi delle routine evento nella maschera
da un'altra maschera, basta che la routine sia dichiarata come Public.

Private Sub btnClickMe_Click()
può essere chiamata solo dall'interno della stessa maschera

Public Sub btnClickMe_Click()
può essere chiamata da qualunque altra maschera, finché questa maschera é
aperta.

esempio:
Private Sub btnClickMeToo_Click()
Call Forms!AltraForm.btnClickMe_Click
End Sub


--------------------------------
Inviato via http://arianna.libero.it/usenet/
Ivan da casa
2005-07-03 12:16:57 UTC
Permalink
Post by SunRex
Puoi far riferimento da una form ad un'altra utilizzando L'oggetto Forms.
Se per esempio devi aggiornare una lstBox di una form da un'altra form
su un pulsante della prima forms scrivi
Forms!frmB.lstLista.requery.
Se devi eseguire un requery di una form da un'altra
Forms!frmB.requery
e così via.....
SunRex
scusate tutti, ma io volevi invocare un'evento passando il suo nome
tramite
una variabile dimensionata a livello globale.

es.

Dim LaComboChiamante As String, laMaskeraChiamante As String

...) nella maschera che contiene la combo ( la quale dovrà essere
REQUERYATA
e RIPUNTATA sul nuovo dato, e ... VORREI INVOCARE L'EVENTO :
cmbScegliLaDitta_AfterUpdate !!!)

laMaskeraChiamante = "mPippo": LaComboChiamante = "cmbScegliLaDitta":
lEventoDaInvocare = "cmbScegliLaDitta_AfterUpdate"
DoCmd.OpenForm("mDITTE")
.....

...) nella machera mDITTE sull'evento Chiusura :

Forms(laMaskeraChiamante).Controls(LaComboChiamante).Requery
Forms(laMaskeraChiamante).Controls(LaComboChiamante) = [DITTA]
Post by SunRex
e adesso vorrei invocare l'evento : 'lEventoDaInvocare' ma non so
come
Post by SunRex
riferirmi ad esso !!!!!!
cmq Grazie Ivan

ALESSANDRO Baraldi
2005-07-02 17:46:17 UTC
Permalink
Post by Ivan da casa
da una maschera ditte, aggiornare un controllo in un'altra maschera.
dopo effettuato il requery del controllo, vorrei lanciare l'evento
collegato
all' afterupdate del controllo stesso!
Non so come riferirmi (lanciare, eseguire, runnare) ad una sub contenuta
in
un'altra maschera.
grz x aver letto, e .... per averci pensato !
Ivan
Oltre alle Soluzioni che già ti hanno proposto puoi usare anche questa
che forse è un pò meno usuale:

Ora suppongo che il controllo da gestire sia una SubForm:

Dichiara una variabile OGGETTO a livello di Form:

Private WithEvents mSB as Access.Form

Questa è una vera e propria istanza della Classe Form, di conseguenza
dopo averla definita ne erediretai metodi e proprietà:

Su evento Load della Form principale

Set mSB=Forms!NomeForm!NomeSubForm

quando dovrai fare il Requery ti basarà mSB.Requery

Ora per intercettare l'Evento dalla From principale accedi agli
eventi del Nuovo Oggetto mSB dichiarato WithEvents e sfruttane
l'ereditarietà dello stesso avendone dichiarato la Classe:

Private Sub mSB_AfterUpdate()
' Inseridci il codice che devi attuare
End Sub

Per pignoleria su Close potresti annullare l'oggetto, ma essendo
un Private all'interno della Form viene scaricato ugualmente.

Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
Continua a leggere su narkive:
Loading...