Tester si un formulaire est vide avant de l’ouvrir
Généralement, un formulaire est construit sur une table ou sur une requête. Il se peut que cette source de données soit vide, et qu’il ne soit donc pas nécessaire d’ouvrir le formulaire. Comment faire pour gérer cela ?
La solution
Contrairement aux états, le formulaire n’expose pas d’événement Sur aucune donnée. Mais il suffit de compter le nombre d’enregistrements de la table ou requête source, avant l’ouverture. Par exemple :
1 2 3 4 5 |
If DCount("*", "table ou requête source du formulaire") = 0 Then Msgbox "Aucun enregistrement !", vbExclamation Else DoCmd.OpenForm "Nom du formulaire", acNormal End If |
Cette portion de code peut être recopiée dans l’événement Sur clic
du bouton supposé ouvrir le formulaire.
Merci à HERVÉ INISAN pour la solution apportée. Je galérai depuis plusieurs jours pour éviter un écran vert lors de l’ouverture d’un formulaire sans enregistrement et rechercher une solution permettant l’affichage d’un message dans cette éventualité. J’ai appliqué le code proposé par Hervé. C’est génial!!!!!
Content que ça puisse dépanner ! 🙂
Bonjour
Je travail sur Access 2007 et je veux un formulaire liée à une requête ne s’affiche qu’on cas de la requête contient des lignes non nulle (Contient des données )
je vous remercie d’avance
Rachid > Qu’est-ce que tu entends par « contient des données » ? (si la requête renvoie 0 ligne, ça correspond au cas traité dans cet article)
Mar > A priori, dans le scénario de cet article, le formulaire n’est pas encore ouvert, et il est basé sur une table ou une requête. Ça veut dire que les données sont déjà stockées (donc à jour) avant l’ouverture.
Est-ce que tu peux préciser ton propre scénario ?
Bonjour,
Merci pour votre aide, j’ai un soucis c’est comment faire la mise à jour les valeurs du formulaire avant de l’ouvrir? Merci