Chiusura maschere

di il
2 risposte

Chiusura maschere

Buongiorno
utilizzo questo codice per chiudere le maschere aperte
Public Function CloseAllForms() As Boolean
'*****************************************************************
'Name : CloseAllForms()
'Purpose : Close all Forms 
'Author : Alessandro Baraldi
'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
DoCmd.Close acForm, Forms(x).Name
Next
CloseAllForms = True
 
Exit_here:
Exit Function
Err_Close:
CloseAllForms = False
Resume Exit_here
End Function
ma se intendessi lasciarne aperte alcune se già aperte?
Nello specifico vorrei che se ho la form "SCHEDE" o la form "CLIENTI" aperte queste non vennissero chiuse con il precedente codice che si attiva su chiusura della form "FATTURE"


grazie per l'attenzione

2 Risposte

  • Re: Chiusura maschere

    Puoi usare la variante di quella Funzione:
    Public Sub CloseAllExcept(ParamArray DontClose())
        Dim intCount As Integer
        Dim intX As Integer
        Dim intLBound As Integer
        Dim intUBound As Integer
        Dim strTest As String
        intLBound = LBound(DontClose)
        intUBound = UBound(DontClose)
        If intUBound >= intLBound Then
            strTest = " IN ("
            For intX = intLBound To intUBound
                strTest = strTest & "'" & DontClose(intX) & "', "
            Next
            strTest = Left(strTest, Len(strTest) - 2) & ")"
            intCount = Forms.Count - 1
            For intX = intCount To 0 Step -1
                If Eval("'" & Forms(intX).Name & "'" & strTest) <> True Then
                    DoCmd.Close acForm, Forms(intX).Name
                End If
            Next
        End If
    End Sub
    Con questo codice puoi passare un Elenco di Form da NON CHIUDERE.
    Nel tuo caso passa il Nome di quella da mantenere aperta.

    Leggi questo per capire come si Usano i Parameter Array:
    https://stackoverflow.com/questions/26492872/how-to-pass-an-array-to-a-function-in-vba
  • Re: Chiusura maschere

    Fatto!

    OK

    grazie.
Devi accedere o registrarti per scrivere nel forum
2 risposte