Newsgroup: it.comp.appl.access
Titolo: Vorrei all'apertura di una maschera, chiudere le altre

Buongiorno a tutti/e!
Il problema che vi sottopongo oggi e che mi assilla è il seguente:
In una maschera principale (mPrincipale) ho inserito dei pulsanti, alla cui
pressione (evento click) si aprono delle maschere. Quello che vorrei
ottenere è questo:
ammettendo che alla pressione di button1 si attivi mbutton1, e alla
successiva pressione di button2 si attivi mbutton2 e così
via...............se clicco su 10 pulsanti diversi avrò 10 maschere diverse
presenti sullo schermo..............DOMANDA: come posso far si che ad ogni
pressione del pulsante rimanga sulla mPrincipale solo la maschera che genero
x ultimo...........facendo "magicamente" scomparire l'ultima aperta?
Scusate la banalità (x alcuni) della domanda e spero di essere stato
sufficientemente chiaro.............ciao a tutti/e!!!!!!!
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:151Z96Z0Z8Y10...@usenet.libero.it...

usa
on error resume next
DoCmd.Close acForm, "tuaform1", acSaveYes
DoCmd.Close acForm, "tuaform2", acSaveYes
DoCmd.Close acForm, "tuaform3", acSaveYes
......
DoCmd.Close acForm, "tuaform9", acSaveYes
DoCmd.Close acForm, "tuaform10", acSaveYes
on error go to 0
stefano

 ha scritto nel messaggio
news:151Z96Z0Z8Y10...@usenet.libero.it...

Prova a creare una variabile pubblica (ad es NomeVariabilePubblica), a cui
devi dare di volta in volta il valore della maschera che apri; sul codice di
ciascun pulsante, inserisci il comando "docmd.close acForm,
NomeVariabilePubblica", quindi assegni alla stessa variabile il nome della
nuova maschera che devi aprire,e dopo inserisci "docmd.openForm
NomeVariabilePubblica".
Credo che funzoni, fammi sapere.


ma andiamo stefano. C'e' l'insieme Forms che ci informa su quali
maschere sono attive. Questa routine va bene pero' pensa
se (come nel mio caso) l'utente ha la possibilita di aprire
un centinaio di form. Inoltre va modificata per ogni
eventuale aggiunta di nuovo form
--
a.cara 
Togli qualcosa dall'email


ciao cfr mia risposta a stefano.
e se hai piu' di un form aperto? o ne vuoi aprire piu' di uno?
cmq la tua soluzione "certamente" funziona


 Togli qualcosa dall'email
in realtà ho dato una soluzione ad un quesito specifico che voleva una sola
maschera aperta alla volta.
del resto è vero che con l'insieme form sai quali  sono tutte le maschere
aperte in ogni momento, devi comunque dire quale vuoi chiudere
quindi le soluzioni a volte più semplici per fare una cosa possono essere
anche esteticamente "brutte".
Io penso così naturalmente ho molto da imparare, ma da quella che è la mia
esperienza al cliente "no importa come fai basta che lo fai"
Stefano

 esperienza al cliente "no importa come fai basta che lo fai"
assolutamente vero, con una eccezione, se il cliente e' qualcuno
che produce software e quindi compra il tuo sorgente,
probabilmente, fra i vincoli, mette anche il "come lo fai".


 ha scritto nel messaggio
news:3E410CC2...@blunet.it...

è vero in caso tu vendi i sorgeti,
fortunatamente io produco software e lo vendo ai clienti e non vendo i
sorgenti
e comunque la regola principale di chi mi comissiona un applicativo è
deve funzionare non mi interessa come lo fai e sopprattutto non mi interesa
quanto costa
Stefano
(ps mi occupo di programmi di analisi decisionale in ambito sanitario)


 ha scritto nel messaggio
news:3E410CC2...@blunet.it...


 (ps mi occupo di programmi di analisi decisionale in ambito sanitario)
uhmm DSS? Funzionano?
--
a.cara 
Togli qualcosa dall'email
(ps io invece stampo fatture)

 ha scritto nel messaggio
news:3E4130C5...@blunet.it...

principalmente mi occupo di programi per le cooperazioni internazionali
(stresso infati in questo periodo il NG con richieste per problemi con Thai
cioe il thailandese)
Di solito i miei applicativoi lavorano in 7 lingue adesso 8 con quella
asiatica
Stefano
PS
per caso hai guardato il post che ho messo dal titolo "grafico in access"

 per caso hai guardato il post che ho messo dal titolo "grafico in access"
si, piu o meno me li leggo tutti


La Soluzione tua Stefano funziona e ti ringrazio davvero, ma ,come già fatto
notare......se implemento venti differenti maschere come faccio a chiudere
tutte le altre tranne l'ultima aperta? Non dovrò mica necessariamente ogni
volta specificare i nomi di nuove maschere aggiunte
Cmq anche così funziona grazie......ciaooooooo


Function ChiudiMask(optional MaskName as string="")
dim frm as variant
for each frm in application.forms
	if 
frm.name
 <> maskname then
		docmd.close 
frm.name
	endif
next
end function
questa function puo chiudere tutte le maschere attive meno,
eventualmente,
quella indicata in MaskName
L'ho scritta al volo potrebbe non essere esente da errori
P.S. Se il messaggio e' indirizzato a Stefano forse e' meglio
se lo accodi a lui


 ha scritto nel messaggio
news:SR70a.135247$0v.38...@news1.tin.it...
