Chiudere tutte le maschere aperte

di il
3 risposte

Chiudere tutte le maschere aperte

Ciao a tutti,
avrei bisogno di un comando in grado di chiudere tutte le maschere aperte nel momento in cui si preme su un pulsante "Logout".

Cercando in giro ho trovato questo codice che però non funziona dandomi "Errore di comunicazione con il server....":
Private Sub Logout_Click()
Dim obj As Object
For Each obj In Application.CurrentProject.AllForms
DoCmd.Close acForm, obj.Name, acSaveYes
Next obj
DoCmd.OpenForm "mscLogin"
End Sub
mscLogin è la maschera iniziale, una volta che l'utente è loggato resta aperta ma invisibile.

3 Risposte

  • Re: Chiudere tutte le maschere aperte

    AndryFox ha scritto:


    Ciao a tutti,
    avrei bisogno di un comando in grado di chiudere tutte le maschere aperte nel momento in cui si preme su un pulsante "Logout".

    Cercando in giro ho trovato questo codice che però non funziona dandomi "Errore di comunicazione con il server....":
    Private Sub Logout_Click()
    Dim obj As Object
    For Each obj In Application.CurrentProject.AllForms
    DoCmd.Close acForm, obj.Name, acSaveYes
    Next obj
    DoCmd.OpenForm "mscLogin"
    End Sub
    mscLogin è la maschera iniziale, una volta che l'utente è loggato resta aperta ma invisibile.
    Hai provato con :
    Private Sub Logout_Click()

    Quit

    End Sub
  • Re: Chiudere tutte le maschere aperte

    Pa collection Forms contiene le form aperte...
    Prova questa...
    Chiamalo dalla form login cosi:
    Call CloseAllForms (Me.name)
    Public Function CloseAllForms(Optional strForm As String = vbNullString) As Boolean
    '*****************************************************************
    'Name : CloseAllForms()
    'Purpose : Close all Forms eccept Form.Name passed
    '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
  • Re: Chiudere tutte le maschere aperte

    Ho risolto, grazie per l'aiuto!
Devi accedere o registrarti per scrivere nel forum
3 risposte