Tables
Formulaires
Automation
Administration
Envoyer un mail
Outlook
Dates - Heures
Fichiers
Références
La normalisation
VBA
992295 visiteurs
1 visiteur en ligne
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