Créer une macro avec une formule Si permettant de faire ou non une action en fonction du nombre de lignes d'une requête Access

Anonyme
2024-03-06T16:30:43+00:00

Bonjour et d'avance merci pour votre aide.

Imaginons que sur Access j'ai la Table suivante de mes commerciaux :

T_Commerciaux

Nom Prénom Numéro_de_tel Nombre_de_vente
Dupont Jean 1234567890 10
Martin Marie 2345678901 15
Dubois Pierre 3456789012 8
Leroy Sophie 4567890123 12
Moreau Michel 5678901234 20

J'ai ensuite une requête qui reprend toutes les infos de la Table des commerciaux en filtrant ceux qui ont réalisé moins de 10 ventes. Voila ce qu'elle remonte :

R_Ventes

Nom Prénom Numéro_de_tel Nombre_de_vente
Dubois Pierre 3456789012 8

Jusque là rien d'anormal. L'étape suivante consiste à créer une macro pour vérifier s'il y a des lignes dans la requête R_Ventes. L'objectif étant de gagner du temps pour ne pas avoir à ouvrir à chaque fois la requête pour vérifier si oui ou non il y a des lignes qui remontent. Pour cela j'ai créé une macro avec une formule "Si" :

Or, au moment d'exécuter la macro, une erreur s'affiche :

Suivie d'un autre message :

Je ne comprends pas, on dirait que l'erreur réside dans la partie "Compte([R_Ventes])>0". J'ai essayé différentes syntaxes (rajout du nom d'un des champs derrière le nom de la requête, ajout du chemin complet menant au à la base de donnée en amont, etc.). J'ai vérifié l'orthographe de la requête, et j'ai bien tous les accès et pourtant la macro Access ne détecte pas cette requête, malgré le fait qu'elle existe bel et bien et que l’assistant me le propose au moment de remplir la fonction "Compte".

Je précise que j'ai la même erreur dans une autre base de donnée Access où le principe est le même (donc le problème n'est pas lié spécifiquement à cette base de donnée que je viens de détailler plus haut)

Pouvez vous m'aider à faire fonctionner cette Macro, s'il vous plaît ?

Merci beaucoup pour votre aide et bonne journée.

Hugo,

Microsoft 365 et Office | Access | Other | 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

4 réponses

  1. Anonyme
    2024-03-06T17:16:33+00:00

    Salut,

    La fonction Compte est une fonction d'agrégation pour compter sur la base d'un champ dans une table/requête. Tu peux compter les enregistrements de cette manière:

    DCount("*" ; "R_Ventes")>0

    Servus
    Karl
    ****************
    Access Forever
    Access News
    Access DevCon
    Access-Entwickler-Konferenz AEK

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

    1 personne a trouvé cette réponse utile.
    0 commentaires Aucun commentaire
  2. Anonyme
    2024-03-07T08:06:54+00:00

    Merci beaucoup pour cette solution.

    Elle fonctionne parfaitement après l'avoir testé.

    Je vous souhaite une bonne journée.

    Merci encore.

    Hugo,

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

    0 commentaires Aucun commentaire
  3. Hecatonchire 53,950 Points de réputation Modérateur bénévole
    2024-03-06T17:34:51+00:00

    Bonjour Karl,

    Dommage, à 2 minutes près et j'aurais évité de dire des bêtises ! 😁😰

    Je n'y pensais plus aux fonctions de domaine.

    (DCount = CptDom dans l'assistant)

    Merci pour ta réponse

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

    0 commentaires Aucun commentaire
  4. Hecatonchire 53,950 Points de réputation Modérateur bénévole
    2024-03-06T17:14:44+00:00

    Bonjour,

    Je ne suis pas un utilisateur des macros Access (plus VBA) mais cette syntaxe me semble étonnante (pouvoir compter les enregistrements sans "ouvrir" le formulaire).

    Perso je verrais plus un formulaire lié à R_Ventes (directement ou en tant que sous formulaire/état =>masqué) et là via une zone texte accéder au nombre d'enregistrement.

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

    0 commentaires Aucun commentaire