OVH Cloud OVH Cloud

Savoir si 1 form est ouvert

2 réponses
Avatar
Nanie
Bonjour =E0 tous
Comment peut on savoir si un formulaire est d=E9j=E0 ouvert=20
ou non? Existe-t-il une m=E9thode ou une propri=E9t=E9?=20
Merci d'avance pour votre aide
Bonne journ=E9e =E0 tous
nanie

2 réponses

Avatar
Damien Mermoz
Ca dépend de ta version d'access sous 2000 et plus il y a une propriété
isloaded, elle s'utilise de cette façon

If CurrentProject.AllForms.Item("nom du formulaire").IsLoaded Then
MsgBox ("ouvert")
Else
MsgBox "pas ouvert"
End If

Sous 97 il faut faire une fonction (perso je préfère cette méthode car tu
peux l'utiliser dans une requête)
dans un module :
Public Function IsLoaded(ByVal strFormName As String) As Integer

'From Northwind sample database:
'Renvoie la valeur vrai si un formulaire est chargé

'Ces variables sont utilisées pour tester la valeur renvoyées par la
fonction SysCmd
' et la vue actuel des formulaires.


Const conObjStateClosed = 0
Const conDesignView = 0

' Le premier If utilise la fonction Sycdm pour vérifier l'état actuel
' du formulaire testé. Il y a 4 réponses possibles : Pas ouvert ou
inexistant,
' ouvert, nouveau, ou modifié mais pas sauvegardé.

If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <>
conObjStateClosed Then
'Le second if vérifie la vue actuel du formulaire testé.
' dans le cas où le premier if renvoie une valeure vraie.
' Si le formulaire testé est en vue normal, la fonction renvera la valeur
' vrai. Si le formulaire est en mode création la fonction renverra la
valeur faux.

If Forms(strFormName).CurrentView <> conDesignView Then
IsLoaded = True
End If

End If

End Function


Voilà :-)

A +
Damien.

"Nanie" a écrit dans le message de
news:069401c3ce14$b52d79b0$
Bonjour à tous
Comment peut on savoir si un formulaire est déjà ouvert
ou non? Existe-t-il une méthode ou une propriété?
Merci d'avance pour votre aide
Bonne journée à tous
nanie
Avatar
Nanie
Merci beaucoup, ca marche parfaitement!
Bonne fin de journée.. et surtout,
Bonnes fêtes de fin d'année!
Nanie


-----Message d'origine-----
Ca dépend de ta version d'access sous 2000 et plus il y
a une propriété

isloaded, elle s'utilise de cette façon

If CurrentProject.AllForms.Item("nom du
formulaire").IsLoaded Then

MsgBox ("ouvert")
Else
MsgBox "pas ouvert"
End If

Sous 97 il faut faire une fonction (perso je préfère
cette méthode car tu

peux l'utiliser dans une requête)
dans un module :
Public Function IsLoaded(ByVal strFormName As String) As
Integer


'From Northwind sample database:
'Renvoie la valeur vrai si un formulaire est chargé

'Ces variables sont utilisées pour tester la valeur
renvoyées par la

fonction SysCmd
' et la vue actuel des formulaires.


Const conObjStateClosed = 0
Const conDesignView = 0

' Le premier If utilise la fonction Sycdm pour vérifier
l'état actuel

' du formulaire testé. Il y a 4 réponses possibles : Pas
ouvert ou

inexistant,
' ouvert, nouveau, ou modifié mais pas sauvegardé.

If SysCmd(acSysCmdGetObjectState, acForm,
strFormName) <>

conObjStateClosed Then
'Le second if vérifie la vue actuel du formulaire testé.
' dans le cas où le premier if renvoie une valeure vraie.
' Si le formulaire testé est en vue normal, la fonction
renvera la valeur

' vrai. Si le formulaire est en mode création la
fonction renverra la

valeur faux.

If Forms(strFormName).CurrentView <>
conDesignView Then

IsLoaded = True
End If

End If

End Function


Voilà :-)

A +
Damien.

"Nanie" a écrit
dans le message de

news:069401c3ce14$b52d79b0$
Bonjour à tous
Comment peut on savoir si un formulaire est déjà ouvert
ou non? Existe-t-il une méthode ou une propriété?
Merci d'avance pour votre aide
Bonne journée à tous
nanie


.