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

Macros Access Discussion :

[AC-365] macro "Si" valeur contenue dans une table


Sujet :

Macros Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Points : 11
    Points
    11
    Par défaut [AC-365] macro "Si" valeur contenue dans une table
    Bonjour,

    Je cherche désespérément une syntaxe correcte pour libeller une condition dans une macro.

    Dans un formulaire, j'ai un champ texte libre "client". Je souhaite qu'une macro s'exécute si la valeur du champ fait partie des x enregistrements d'une table annexe qui contient une dizaine d'enregistrements (table "clients avec TVA").
    Pour le moment, ma macro mentionne "Si [client]="A", alors..." "Si [client]="B", alors..." etc
    "Si [client]="A"ou"B", alors..." fonctionne aussi, mais j'ignore quelle longueur maximale on peut donner à l'expression.
    Tout fonctionne, sauf que à chaque nouveau client avec TVA, je dois ajouter une nouvelle condition Si dans ma macro.
    Je précise que je fais un copier/coller du nom du client depuis la table "clients avec TVA" dans le champ "client" de mon formulaire.

    Je souhaiterais pouvoir écrire que la macro s'exécute si la valeur du champ "client" existe dans la table "clients avec TVA". Le hic est que cette table n'est pas ouverte quand j'utilise mon formulaire, mais il existe bien une relation jointure gauche (ou droite je ne sais plus) entre les champs "client" et "clients avec TVA" pour les requêtes sur lesquelles se basent tous les états qui sont liés (factures, etc)

    Je peux vivre avec, mais c'est plutôt l'envie de trouver une solution élégante qui me fait persévérer. J'ai essayé en vain In, InList.

    Auriez-vous une idée?
    Merci

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Le hic est que cette table n'est pas ouverte quand j'utilise mon formulaire, mais il existe bien une relation jointure gauche (ou droite je ne sais plus) entre les champs "client" et "clients avec TVA" pour les requêtes sur lesquelles se basent tous les états qui sont liés (factures, etc)
    il faudrait ajouter cette table dans la requête source de ce formulaire et créer le champ "texte libre" directement dans cette requête.
    Tu peux également utiliser Dlookup (RechDom en français) à la place de ta macro qui ne semble pas être des plus optimisées
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    il faudrait ajouter cette table dans la requête source de ce formulaire et créer le champ "texte libre" directement dans cette requête.
    Tu peux également utiliser Dlookup (RechDom en français) à la place de ta macro qui ne semble pas être des plus optimisées
    Bonjour,
    la table est dans la requête source, et le champ texte libre est dans la table
    Je pensais aussi à dlookup pour aller chercher des données d'un enregistrement de la table source, mais peut-être qu'il y a moyen d'utiliser cette fonction pour une procédure
    "si dlookup champ texte libre est dans la table, alors"
    mais comment écrire cela?

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    et le champ texte libre est dans la table
    ...et quel est l'intérêt d'un champ libre dans une table ?
    je pense que tu t'embrouilles pour pas grand chose ... la meilleure solution que je vois c'est de construire une requête source pour le formulaire et tu donnes toi-même la solution :
    il existe bien une relation jointure gauche (ou droite je ne sais plus) entre les champs "client" et "clients avec TVA" pour les requêtes sur lesquelles se basent tous les états qui sont liés (factures, etc)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    je pense que tu t'embrouilles pour pas grand chose ... :
    c'est exact
    comme il n'y a qu'une dizaine de clients avec tva, la macro est facilement adaptable en y ajoutant le nom de chaque nouveau client pro, je vais rester sur cette solution
    c'est juste pas très professionnel, d'où mon souhait d'adapter la condition de déclenchement des procédures d'impression des états (des champs promotionnels sont ajoutés sur les factures des pros Me!Visible, etc)

    mais le mieux est l'ennemi du bien...
    merci d'avoir pris le temps de comprendre le cas
    bonne journée

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/08/2015, 14h10
  2. [MySQL] Comparer le contenu d'une variable aux valeurs contenues dans une table
    Par mmlio dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/10/2009, 17h20
  3. Réponses: 3
    Dernier message: 13/06/2006, 16h36
  4. Comment afficher une valeur contenue dans une variable ?
    Par manubrard dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 15h56
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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