Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Commenr savoir si au moins un formulaire est ouvert ?

2 réponses
Avatar
Codial
Bonjour,

Sur un bouton j'utilise cette fonction pour fermer tous les formulaires
ouverts:

Public Function FermeTousForm()

' Fonction qui ferme tous les formulaires ouverts d'une base de données.

On Error Resume Next


While Forms.Count <> 0
DoCmd.Close acForm, Forms(0).Name
Wend

End Function

Cependant si aucun formulaire n'est ouvert et que l'utilisateur clique sur
ce bouton j'ai un message d'erreur:

"L'expression entrée comporte un nom de champ, de contrôle ou de propriété
introuvable" ce qui fait désordre !!

Alors, comment vérifier s'il y a au moins un formulaire d'ouvert ?

D'avance merci

Codial

2 réponses

Avatar
Raymond [mvp]
Bonjour.

je viens d'exécuter ta fonction dans un module standard appelée par une
macro et tout s'est bien passé quel que soit le nombre de formulaires
ouverts 0, 1, 5 etc...
ta compilation est bonne ? es-tu sûr que ça vient de cette fonction ?
si tu as un bouton, il est sur un formulaire ? non ? et tu veux fermer le
formulaire qui exécute la fonction ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonjour,

Sur un bouton j'utilise cette fonction pour fermer tous les formulaires
ouverts:

Public Function FermeTousForm()

' Fonction qui ferme tous les formulaires ouverts d'une base de données.

On Error Resume Next


While Forms.Count <> 0
DoCmd.Close acForm, Forms(0).Name
Wend

End Function

Cependant si aucun formulaire n'est ouvert et que l'utilisateur clique sur
ce bouton j'ai un message d'erreur:

"L'expression entrée comporte un nom de champ, de contrôle ou de propriété
introuvable" ce qui fait désordre !!

Alors, comment vérifier s'il y a au moins un formulaire d'ouvert ?

D'avance merci

Codial











Avatar
Codial
Bonjour Raymond,

Oui je viens de tester en appelant cette fonction par une macro et je n'ai
plus ce message d'erreur!

En fait il s'agit d'un bouton dans une toolbar et j'appelais cette fonction
avec Sur Action = FermeTousForm() et l'appelant par une macro je n'ai plus
ce message d'erreur. Curieux !!

Cordialement

Codial



"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

je viens d'exécuter ta fonction dans un module standard appelée par une
macro et tout s'est bien passé quel que soit le nombre de formulaires
ouverts 0, 1, 5 etc...
ta compilation est bonne ? es-tu sûr que ça vient de cette fonction ?
si tu as un bouton, il est sur un formulaire ? non ? et tu veux fermer le
formulaire qui exécute la fonction ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonjour,

Sur un bouton j'utilise cette fonction pour fermer tous les formulaires
ouverts:

Public Function FermeTousForm()

' Fonction qui ferme tous les formulaires ouverts d'une base de données.

On Error Resume Next


While Forms.Count <> 0
DoCmd.Close acForm, Forms(0).Name
Wend

End Function

Cependant si aucun formulaire n'est ouvert et que l'utilisateur clique
sur


ce bouton j'ai un message d'erreur:

"L'expression entrée comporte un nom de champ, de contrôle ou de
propriété


introuvable" ce qui fait désordre !!

Alors, comment vérifier s'il y a au moins un formulaire d'ouvert ?

D'avance merci

Codial