IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Empêcher l'affichage d'une boite de dialogue [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Décembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Décembre 2016
    Messages : 27
    Points : 23
    Points
    23
    Par défaut Empêcher l'affichage d'une boite de dialogue
    Bonjour,

    Voici mon problème :

    J'ai créé un état sur la base d'une requête, pour que ne soient affichés que les résultats qui correspondent à une catégorie précise. Dans la requête, j'ai donc mis en critère sur "CodeCategorie" : [forms]![F_ChoixCategorie]![cboSelectionCategorie] OU [forms]![F_AttribuerJours]![txtCodeCategorie] car j'ai besoin de pouvoir afficher l'état soit en passant par le formulaire F_ChoixCategorie, soit par le formulaire F_AttribuerJours

    Or, lorsque j'ouvre l'état, Access s'attend à ce que les deux critères soient remplis (moi je voudrais qu'il ne se contente que d'un des deux). Donc si je passe par le formulaire F_ChoixCatégorie, il me demandera, via une boite de dialogue, "Entrer une valeur de paramètre - Formulaires!F_AttribuerJours!txtCodeCategorie", et inversement. Il faut alors que je clique sur OK (même sans avoir renseigné la valeur) pour que la boite se ferme et que mon état s'ouvre correctement.

    Je voudrais savoir s'il existe un code VBA pour empêcher l'affichage de cette boite de dialogue ? Et faire en sorte que mon état s'ouvre même si le deuxième critère n'est pas renseigné ?

    Merci d'avance

    Alban

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 593
    Points
    24 593
    Par défaut
    Bonjour,

    En effet si tu mets 2 critères il s'attend à les trouver. On ne peut pas masquer ce message, il faut correctement faire les choses pour qu'il ne te sollicite plus.


    Créer une fonction VBA publique dans un module standard.

    Dans cette fonction tu dois tester quel formulaire est ouvert et renvoyer la valeur :

    Voici le contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If SysCmd(acSysCmdGetObjectState, acForm, "F_ChoixCategorie") = 1 Then
      mafonction = forms.F_ChoixCategorie.cboSelectionCategorie.value
    else if SysCmd(acSysCmdGetObjectState, acForm, "F_AttribuerJours") = 1
       mafonction = forms.F_AttribuerJours.txtCodeCategorie.value
    endif
    Dans ta requête tu indiques simplement le nom de la fonction suivit des parenthèses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT ... FROM ... WHERE CodeCategorie=mafonction();
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Décembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Décembre 2016
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Merci beaucoup, ça marche parfaitement !

    Bonne soirée,

    Alban

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. forcer l'affichage d'une boite de dialogue
    Par kitch18 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/02/2008, 18h23
  2. Affichage d'une boite de dialogue
    Par Gabout dans le forum VBA Access
    Réponses: 6
    Dernier message: 24/04/2007, 19h25
  3. Réponses: 6
    Dernier message: 14/06/2006, 08h56
  4. Réponses: 2
    Dernier message: 01/05/2004, 12h19
  5. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo