Newsgroup: it.comp.appl.access
Titolo: modificare da vb un campo di un 'altra sottomaschera

ciao 
dal codice vb di un form, sto tentando di scrivere su un campo di un altro
form.
Normalmente faccio forms("form1").controls("nomecontrollo").value="bla bla"
se pero' form1 e' un sottoform di qualche maschera l'istruzione non
funzia!!!
e' possibile in qualche modo scriverci lo stesso senza ricorrere alla
tecnica forms("formprincipale")!forms("sottoform") etc etc ???
----------
ps: devo x forza usare la tecnica
forms("form1").controls("nomecontrollo").value perche non so a priori il
nome del form su cui scrivere, e tantomeno se e' un form normale o un
sottoform.
grazieeeeeeeeeeeee
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 grazieeeeeeeeeeeee
Dunque la sintassi è questa
Forms!frmPrincipale!frmSottoPrincipale!txtTuoControllo.Value
Ma una cosa non mi è chiara.Tu vuoi passare a run time il nome della
form principale e della eventuale sottomaschera?
SunRex


 SunRex
grazie, pero' come gia' avevo premesso:
1) non so a priori il nome del sottoform a cui accedere, quindi devo x
forza usare la tecnica forms(variabileConIlNomeDelForm)
2) non so a priori se devo accedere a un form o se e' un sottoform
quindi vorrei un' unica istruzione che vada bene in ogni caso, perche
purtroppoo l'istruzione
forms(VariabileNomeform).controls(nomecontrollo).value funziona SOLO se
non devo accedere a un sottoform!!
grazie 100


 grazie 100
Mumble mumble, non l'ho mai fatto......
Comunque così a braccio io testerei con una function a livello di modulo
quali forms sono aperte e se hanno la sotto forms e poi gli passerei il
comando
canonico usando una select case.
SunRex


 canonico usando una select case.
 
credo che il mio problema sia comune.
Il form A apre il form B ... e poi dal form B voglio scrivere dei dati nel
form A .
Ovviamente a priori non so ne il nome di A ne se e' un sottoform. In
questo caso dunque, A deve passare a B come parametro il suo nome e il
nome del campo in cui B deve scrivere.
una soluzione ci dovrebbe pur essere.
grazieee
-- 



Forms!NomeMascheraPrincipale!NomeControlloSottomaschera!NomeControllo = "bla
bla"
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 bla"
come ho gia detto (due volte) , non conosco a priori il
NomeMascheraPrincipale e nemmeno il  NomeControlloSottomaschera , e non so
nemmeno se il form su cui scrivere e' un sotttoform o meno.
Ripeto: il nome del form e del controllo su cui scrivere li ho dentro
delle variabili , percio voglio usare la tecnica
forms(variabile).controls(variabile2).value="bla "
solo che , ripeto, questa cosa funzia solo se il form NON E' un sottoform.
ciauuuuu 


 grazieee
Passi il nome della maschera chiamante (A) alla B nell'argomento openargs
di openform, ed eventualmente anche un flag che indica se è form o
subform, e il nome del controllo. Così B saprà da quale form/subform è
stata chiamata ed il nome del controllo. Oppure salvi un riferimento al
controllo in una variabile public, così lo puoi usare in B senza nemmeno
conoscere il nome della form A.
Namor
-- 
namor at inwind punto it


 ciauuuuu
