Newsgroup: it.comp.appl.access
Titolo: Chiudere una maschera da altra maschera

Ciao a tutti.
Dopo diversi anni ho ripreso a lavorare con Access e sono pittosto
arrugginito, quindi il mio problema probabilmente è banale, ma non
riesco a uscirne.
Ho una maschera (mascheraA) con un controllo che viene riempito.
Verifico il contenuto (da codice su evento) e se il dato inserito è
quello che voglio, dallo stesso codice faccio aprire un'altra maschera
(mascheraB).
Vorrei che all'apertura di mascheraB venisse chiusa la mascheraA e
quindi ho messo sull'evento apertura della mascheraB l'istruzione:
DoCmd.Close acForm, "mascheraA"
ma non funziona e mi restituisce:
errore di run-time '2585'
impossibile eseguire questa azione durante l'elaborazione di un
evento di maschera o di report
Ho provato anche altre soluzioni, ma non ne sono venuto a capo.
Vi ringrazio e aspetto i vostri sggerimenti.

"Tapizio01"  ha scritto nel messaggio 
news:d01a2c1f-b62b-4329...@o5g2000yqa.googlegroups.com...
 
Ciao a tutti.
Dopo diversi anni ho ripreso a lavorare con Access e sono pittosto
arrugginito, quindi il mio problema probabilmente č banale, ma non
riesco a uscirne.
Ho una maschera (mascheraA) con un controllo che viene riempito.
Verifico il contenuto (da codice su evento) e se il dato inserito č
quello che voglio, dallo stesso codice faccio aprire un'altra maschera
(mascheraB).
Vorrei che all'apertura di mascheraB venisse chiusa la mascheraA e
quindi ho messo sull'evento apertura della mascheraB l'istruzione:
DoCmd.Close acForm, "mascheraA"
ma non funziona e mi restituisce:
errore di run-time '2585'
impossibile eseguire questa azione durante l'elaborazione di un
evento di maschera o di report
Ho provato anche altre soluzioni, ma non ne sono venuto a capo.
Vi ringrazio e aspetto i vostri sggerimenti.
_________RIsposta:
E' strano quello che dici, dovrebbe funzionare tranquillamente
MA
 

 Vi ringrazio e aspetto i vostri sggerimenti.
 
Nella mascheraA quale evento usi per il tuo codice che apre
la mascheraB? Incolla tutto il codice di questo evento.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 


ecco il codice, la mascheraA è la PWin (con sottomascheraPWsub) e la
mascheraA è la m_master.
Private Sub Testo2_Exit(Cancel As Integer)
    Forms!PWin!PWsub.Form.Requery
    'verifica se ha trovato il record dell'utente nella sottomaschera
PWsub
    If Forms!PWin!PWsub.Form.RecordsetClone.RecordCount <> 0 Then
        'verifica se la password è uguale prosegue
        If Nz(Me.Testo2) = Nz(Forms!PWin!PWsub.Form.PwdN) Then
            Application.SetOption "Confirm Action Queries", False
            'aggiorna il parametro che imposta l'abilitazione del tipo
di utente
            DoCmd.RunSQL "UPDATE Parametri SET Parametri.Abilitazione
= [Forms]![PWin]![PWsub].[form].[abilitazionen];"
            Application.SetOption "Confirm Action Queries", True
            'apre la maschera principale
            DoCmd.OpenForm "m_master"
        End If
    End If
End Sub

 ...
 
Con l'evento Exit questo problema è normale.
Usa "Prima Aggiornamento" o "Dopo Aggiornamento" della
casella di testo.



Preciso e puntuale come ricordavo! Problema risolto, grazie mille