Partager via

Message si formulaire "vide"

Anonyme
2011-08-27T21:16:02+00:00

Bonjour,

Situation : Un formulaire, basé sur une requête paramétrée, fait apparaître les résultats voulus en fonction de la "réponse" au paramètre.

Question : Est-il possible de faire afficher un message à l'usager si les résultats de la requête soit, ceux affichés dans le formulaire, sont "vides" ?

                Aussi, à ce moment, empêcher l'ouverture du formulaire basé sur la requête.

                Si oui, comment ?

Présentement : Lorsque la "réponse" inscrite suite au paramètre de la requête ne retourne aucune valeur, le formulaire s'ouvre quand même mais, évidemment, affiche des champs "vides".

Merci à qui pourrait m'aider

Normand

Microsoft 365 et Office | Access | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2011-08-28T23:23:00+00:00

Bonsoir/jour,

J'ai trouvé sur le site "Trucs et astuces informatique de Michel" une solution qui passe par la procédure événementielle "Sur Ouverture" du formulaire à ouvrir.

Pour l'exemple, j'ai un formilaire "Menu" sur lequel j'ai un bouton "OuvrirAffichage" qui ouvre le formulaire "Affichage"

Dans la procédure "Sur Ouverture" du formulaire "Affichage" saisir le code suivant :

____________________________________________

Private Sub Form_Open(Cancel As Integer)

If Me.RecordsetClone.RecordCount = 0 Then

Cancel = True

MsgBox "Il n ' y a pas d'enregistrement"

End If

End Sub

____________________________________________

Remarque

Si vous avez ajouter la gestion d'erreurs à la procédure "Sur Click" du bouton "OuvrirAffichage" du formulaire "Menu" comme c'est la cas si dessous, ajoutez le code en gras afin qu'il n'affiche pas le la description de l'erreur suite à l'annulation de l'ouverture.

____________________________________________

Private Sub OuvrirAffichage_Click()

On Error GoTo Err_OuvrirAffichage_Click

Dim stDocName As String

stDocName = "Affichage"

DoCmd.OpenForm stDocName, acNormal

Exit_OuvrirAffichage_Click:

Exit Sub

Err_OuvrirAffichage_Click:

If Err.Number <> 2501 Then

MsgBox Err.Description

End If

Resume Exit_OuvrirAffichage_Click

End Sub

____________________________________________

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

4 réponses supplémentaires

  1. Anonyme
    2011-08-29T02:47:00+00:00

    Bonjour Mehdi,

    Un GROS MERCI... le tout fonctionne parfaitement.

    Grâce à vous et quelques autres, j'apprends un peu plus le VBA.  Encore merci !

    Normand

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2011-08-28T17:50:11+00:00

    Bonjour Normand,

    Je vous prie de me laissez le temps de le tester. Je reviendrez vers probablement en fin de soiré si cela vous convient car sur la présente machine je suis sous Access 2010.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2011-08-28T17:40:10+00:00

    Bonjour Mehdi,

    J'ai effectivement consulté et testé ce code.  Il pourrait probablement répondre à mes attentes.

    Toutefois, j'ai essayé de l'intégrer dans le formulaire mais ça ne fonctionne pas !  En fait, je ne sais pas vraiment où il faut placer ce bout de code (je ne suis pas à l'aise en VBA).

    Actuellement, le formulaire basé sur la requête s'ouvre à l'aide d'un bouton créé avec l'assistant et placé dans un formulaire de type "menu".  La propriété "Sur clic" de ce bouton contient donc déjà du "code" permettant d'ouvrir le formulaire basé sur la requête.

    Alors, où dois-je placer ce bout de code proposé sur le site "Le Grenier Access" ?  Dois-je insérer une "nouvelle procédure" (Sub - Private ou Public), un nouveau Module, un nouveau Module de classe, etc) ?  Dois-je remplacer le code existant du bouton par autre "chose" ?

    Pouvez-vous m'aider sur ce sujet ou me proposer d'autres sites à consulter ?

    Merci à l'avance pour votre réponse.

    Normand

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2011-08-28T17:15:19+00:00

    Bonjour Normand,

    Je vous propose de lire l'article "Tester si un formulaire est vide avant de l'ouvrir", sur la page du site "Le Grenier Access" consacrée aux formulaires. Vous y trouverez une procédure VBA qui devrait répondre à votre attente.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire