Newsgroup: it.comp.appl.access
Titolo: [Access2000] Nome controllo di origine

Salve,
è possibile ricavare il nome del controllo di una maschera che, cliccandoci,
mi apre una seconda maschera?
Mi spiego meglio...
Ho una Form1 in cui è presente un controllo Ctl1.
Clicco su Ctl1 e, impostato nell'evento 'su click' gli faccio aprire Form2
con tutti i suoi dati.
Vorrei che alla chiusura di Form2 mi facesse una Requery su Ctl1 di Form1, e
fin qui ok.
Mi chiedevo però se esistesse il modo di farglielo fare senza indicare
esplicitamente Form1!Ctl1 ma una sorta di "Parent", ovvero "Aggiorna il
controllo che ti ha chiamato inizialmente", in modo da riuscire ad aprire
Form2 anche da Form3 e Form4 senza dover, come ho fatto fino ad ora,
indicare il Requery di ogni singolo controllo delle maschere, controllando
se prima queste fossero aperte.
Ho visto la funzione Parent, ma o non è quella che fa per me o non ho capito
io come funziona...
Grazie.
L.

Computer Help ha scritto:

Passa in openargs il nome della form (nomeform) e del controllo
(nomecontrollo) chiamanti alla form che si apre. Su apertura della seconda
form leggi openargs e salvi i valori in due variabili pubbliche a livello
di form, e sull'evento chiusura fai 
Forms(nomeform)!controls(nomecontrollo).requery
(l'idea è questa, ma non l'ho provata)
Namor
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Namor
si, avevo visto una soluzione simile anche sul sitocomune per la chiusura di
forms in cui passavano il nome form da chiudere.
Cmq ho capito che non esiste l'informazione a livello nativo Access e quindi
occorre gestirla manualmente con controlli o parametri.
In ogni caso grazie per la risposta!
ciao
L.

 ha scritto nel messaggio

Prova a fare un'autocomposizione maschera - sottomaschera con pulsante
(Maschera con maschere collegate)
e sbircia il codice creato da access.
Puoi anche aprire la maschera in popup, questo lascia in pausa il codice che
apre la maschera finche' non la chiudi, poi basta aggiungere un requery.
Sib


Una domanda: stavo provando con il sistema di openargs, ma, se poi la form
chiamata fa riferimento a me.openargs, come fai a passarne più di uno di
parametri?
cercando ho visto funzioni per splittare una stringa del tipo
"arg1=val1;arg2=val2;...." passata come parametro.
Ma è l'unico modo?
Ogni esempio Ms che ho trovato non ne usa mai più di uno.
Grazie e ciao
L.

 parametri?
..dimenticavo: devo passare NomeForm e NomeControllo per poterne fare il
requery..
L.

 ha scritto nel messaggio
news:Pefab.78605$hE5.2...@news1.tin.it...

guarda ho trovato ora della documentazione su sitocomune (General > Parser)
che estrai i dati passati tramite funzione, quindi mi sa che la via sia
questa!
grazie e ciao
L.

 Namor
ho seguito infatti questa strada, mi sono solo un attimo arenato qui:
1) aggCtl = "Forms!" & origForm & "!" & origControllo
aggCtl.requery
oppure
2)aggCtl = "Forms!" & origForm & "!" & origControllo& ".Requery"
dove origForm e origControllo sono le variabili Public che contengono i
parametri passati in openargs e estratti.
mi sfugge la sintassi...mi da sempre errore...argh!!! Qual'è la strada
giusta?
grazie e ciao
L.

Computer Help ha scritto:

Forms(origForm).Controls(origControllo).Requery
Se hai dubbi su questo tipo di sintassi puoi aprire il generatore di
espressioni e selezionare un controllo da una qualsiasi maschera, per
vedere come lo scrive.
E se ti dovesse capitare di avere dubbi sulle sintassi vba il posto
migliore dove cercare è la guida in linea.



Grazie, funziona.
Avevo navigato per guide in linea, siti e quant'altro ma non avevo proprio
considerato questa soluzione.
Grazie ancora,
ciao
L.