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

Access Discussion :

Condition sur requete pour Action MAcro


Sujet :

Access

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut Condition sur requete pour Action MAcro
    Bonjour,

    Voila un moment que je me casse la tete la dessus. A mon avis cest simple mais je ne trouve pas.


    Comment definir une condition dans une rmacro qui va se baser DIRECTEMENT sur l'existance ou pas de resultat d'une requete filtre?

    J'ai par exemple une requete qui liste tous les enregistrement d'une table avec un filtre sur un champs date.

    Exemple:

    Jai une table CLIENTS avec leur date d'anniversaire.

    J'ai une requete qui me liste les clients ayant leur anniversaire dans moins de 5 jours.

    J'ai maintenant une macro qui me dit d'ouvrir un etat avec la liste de ces clients.

    Je voudrais que la macro aille chercher le nombre de clients repondant à ce filtre et que si il y ai un résultat "Null", ca n'ouvre pas l'Etat pour eviter d'avoir un Etat vide et inutile.


    Pour resoudre ce probleme je créai un etat basé sur une requete qui "comptait" le nombre de resultat dans le requete filtre.

    La macro allait chercher le resultat dans cet etat "temporaire" et si le resultat etait egal à 0 ca nouvrait rien.

    Mais ca moblige à créer un maximum de requete et detat qui sont en fait "inutile" et alourdissent pour rien.

    Je voudrais que la condition aille chercher directement dans la requete primaire qui sert de filtre au lieu de passer par un etat qui passe lui par une requete elle meme basé sur la requete filtre.

    SCHEMA VOULU:

    TABLE "Client"
    REQUETE "Filtre" (Filtre sur Table "Client")
    MACRO executant une action si resultat de REQUETE "Filtre" n'est pas Null


    SCHEMA de la solution actuelle qui est trop lourde.


    TABLE "Client"
    REQUETE "Filtre" (Filtre sur Table "Client")
    REQUETE "Compte" (Compte le nombre de resultat de la REQUETE "Filtre")
    ETAT "AfficheCompte" (Ouverture dun etat avec une valeur unique etant le nombre de resultat de la REQUETE "Filtre" et donc basée sur la REQUETE "Compte"
    MACRO avec condition [Etat].[AfficheCompte].ComptedeFiltre pour executer une action


    Merci davoir pris le temps de lire tout ca.

    Si vous avez la solution ca me servirait a faire un grand pas en avant.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    regarde avec la fonction Dcount :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dcount("[monchamp]","matable",critère)
    [/quote]

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    Merci mais je ne men sors pas avec cette fonction.
    Jai essayé de me renseigner sur google : http://216.239.59.104/search?q=cache...=fr&lr=lang_fr



    mais rien ny fait.

    Pourrais tu me donner un exemple:

    On a la table CLIENTS avec les champs nom, annif
    On a la requete Filtre basé sur la table CLIENTS qui pose un filtre WHERE sur un annif = date()

    Que doit on mettre sur la condition de la macro pour eviter dexecuter une action si il ny a aucun resultat sur la requete Filtre


    Si je met ca dans la condition ca ne marche pas ca me met un message d'erreur lors de l'execution de la macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (CpteDom("[annif]";"CLIENTS";[annif]=Date()))=0
    MErci

  4. #4
    Membre actif
    Avatar de Trini
    Homme Profil pro
    Dresseur de puce
    Inscrit en
    Juillet 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dresseur de puce

    Informations forums :
    Inscription : Juillet 2005
    Messages : 189
    Points : 264
    Points
    264
    Par défaut
    Bonjour,

    Y manque les guillemets dans la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CpteDom("[annif]";"CLIENTS"; "[annif]=Date()")=0
    Salut,

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    jai trouvé, en fait il manque les guillement.

    C'est ca quil fallait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CpteDom("[annif]";"CLIENTS";"[annif]=Date()")<>0
    MErci bcp

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

Discussions similaires

  1. Conditions sur date pour modification données
    Par freygeo dans le forum SAS Base
    Réponses: 3
    Dernier message: 28/06/2012, 16h15
  2. aide sur requete pour filtrer
    Par redstoff dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2012, 20h04
  3. [XL-2010] Condition sur doublon pour acompteur
    Par Sabine7258 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/03/2012, 20h20
  4. [AC-2007] Condition sur focus dans une macro
    Par damsmut dans le forum IHM
    Réponses: 6
    Dernier message: 17/12/2009, 15h00

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