Recherche
Recherche
Les mémos
Je débute...
Visites

 1000538 visiteurs

 1 visiteur en ligne

Tester si un Formulaire est ouvert en mode normal

Par la méthode "SysCmd"

Le résultat "ouvert en mode design" est renvoyé comme "fermé".

Function FormIsOpen(strFormName As String) As Boolean
    On Error Resume Next
    FormIsOpen = IIf(SysCmd(acSysCmdGetObjectState, acForm, strFormName), _
                     Forms(strFormName).CurrentView, False)
End Function

En comparant avec le nom des formulaires ouverts

Function FormIsOpen(strFormName) As Boolean
    Dim i As Integer
    ' Argument(s) : un nom de formulaire
    ' Action : détermine si un formulaire est chargé
    ' Valeur renvoyée : True si le formulaire spécifié est chargé;
    ' False dans le cas contraire.

    FormIsOpen = False

    For i = 0 To Forms.Count - 1
        If Forms(i).FormName = strFormName Then
            FormIsOpen = True
            Exit Function
        End If
    Next

End Function

A partir de Access 2000 on utilisera la collection "AllForms"

Function FormIsOpen(strFormName) As Boolean
    FormIsOpen = CurrentProject.AllForms(strFormName).IsLoaded
End Function

Que l'on peut bien sûr utiliser directement...

If CurrentProject.AllForms("NomDuFormulaire").IsLoaded Then


Catégorie : Les mémos - Formulaires
Page lue 6628 fois