Bonjour !
Voilà, je suis débutante en Access (version 2003), avec une base de données que je n'ai pas créé moi-même et j'ai un souci concernant une requête de MAJ qui utilise dans la zone "where" un paramètre utilisateur. Celà marche très bien si ma requête est écrite ainsi :
Je vais notamment utiliser ceci pour sélectionner une certaine partie de ma table d'origine en cochant une case par l'update. Dans mon exemple, celà va cocher tous les enregistrements où var est la variable rentrée par l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE table SET table.sel = True WHERE table.var = [Quel est ta variable ?];
Là où cela se complique, c'est que ce cas de figure est rigide : var doit être strictement identique à la variable entrée. J'aimerais donc utiliser le caractère '* *' pour assouplir le code mais comment dois-je combiner * avec [] ?
ex : si l'utilisateur cherche dans un champ description (contenant donc des phrases entières) le terme "violet", il tape "violet" lorsque la question lui est posée, puis la requête de mise à jour sélectionne (coche un certain champ prévu à cet effet) dans sa table tous les enregistrements contenant le mot violet dans la description.
J'ai essayé (sans grande illusion et sans succès bien sur) :
et même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE table SET table.sel = True WHERE table.var like '*[Quel est ta variable ?]*';
J'ai essayé plusieurs autres combinaisons mais sans trouver celle qui fonctionne, et ni les forums, ni les FAQ, ni les autres aides (tutoriels...) n'ont su apporter un indice pour résoudre mon problème... Quelqu'un pourrait-il m'orienter s'il vous plait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE table SET table.sel = True WHERE table.var like '* &[Quel est ta variable ?]& *';
PS : je souhaite juste un code à rentrer dans une requête de mise à jour, je ne souhaite pas faire de formulaire ou autres plus complexes. Merci !
Partager