Newsgroup: it.comp.appl.access
Titolo: Maschere chiuse automaticamente

Quesito: ho creato varie maschere all'interno dello stesso database fatto 
con Access XP tutte apribili tramite lo specifico pulsante come posso far si 
che quando apro una maschera si chiuda automaticamente quella aperta?
Non sono pratico di Visula B. quindi siate semplici.
Grazie
Stefano 

Stefano ha scritto:


Domanda 1: cosa intendi con "...tutte apribili tramite lo specifico
pulsante..."? Intendi dire che hai una maschera principale (Pannello di
comandi) dal quale richiami le altre maschere, ognuna dopo la pressione di
un pulsante?
Domanda 2: la maschera che si deve chiudere č, appunto, quella principale
di cui sopra? In caso contrario, qual'č?
-- 
TANNHAUSER
"I've seen things you people wouldn't believe..."
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Stefano ha scritto:

Supponiamo di avere la "maschera A" e la "maschera B".
Cliccando su un pulsante della maschera A vogliamo che si chiuda la
maschera A e si apra la maschera  B.
In questo caso sull'evento "su clic" del pulsante della maschera A,
scriveremo il seguente codice:
DoCmd.Close
    stDocName = "maschera B"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Se poi vogliamo che alla chiusura della "maschera B" si riapra la
"maschera A", scriveremo il seguente codice sull'evento "su clic" del
pulsante di chiusura della maschera B:
DoCmd.Close
    stDocName = "maschera A"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Spero di essere stato chiaro e di aver soddisfatto le tue esigenze.
Ciao
Michele

 wrote in message
news:7wenf.32834$
S6.6...@twister2.libero.it

Io uso la Routine sotto da mettere in un Modulo.
Per chiamarla dai Pulsanti della Form Principale fai così:
Call CloseAllForms(Me.Name)
'------------------------------------------------------------------------
Public Function CloseAllForms(Optional strForm As String = vbNullString)
As Boolean
'*****************************************************************
'Name      : CloseAllForms()
'Purpose   : Close all Forms eccept Form.Name passed
'Author    : Alessandro Baraldi
'E.Mail    : 
ik2...@libero.it
'Date      : 23 gennaio 2002
'Called by :
'Calls     :
'Inputs    : Form che non deve essere chiusa
'Output    : True if is OK
'*****************************************************************
   On Error GoTo Err_Close
   Dim n, x As Integer
   n = Forms.count
   For x = n - 1 To 0 Step -1
      If Forms(x).Name <> strForm Then DoCmd.Close acForm, Forms(x).Name
   Next
   CloseAllForms = True
Exit_here:
   Exit Function
Err_Close:
   CloseAllForms = False
   Resume Exit_here
End Function
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Mi spiego meglio: ho creato 10 maschere le quali su di ognuna ci sono tutti 
e dieci i pulsanti di selezione (A B C D E F G H I L) dovrei far in modo che 
da qualunque maschera aperta passando ad una qualsiasi delle altre quella 
aperta si chiuda automaticamente, esempio:
è aperta B
faccio clic su F e B si chiude
faccio clic su A e F si chiude
è possibile?
Grazie per le risposte.
Stefano 

 ha scritto nel messaggio 
news:1134395287.0...@f14g2000cwb.googlegroups.com...


Ma è proprio quello che avviene con la routine che ti ho indicato.
In effetti, ad ogni apertura di una nuova maschera, quella da cui è
stato lanciato il comando di apertura form si chiude.
Quindi, il risultato ottenuto sarà quello di avere sempre una sola
maschera aperta.
Se hai ancora difficoltà, posta il codice relativo all'evento "su
clic" di un qualsiasi pulsante di apertura maschera.
Ciao.
Michele