|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonjour,
Après plusieurs recherches infructueuses, je souhaiterais savoir comment faire simplement pour comparer ou rechercher les valeurs de mon champ C table A si ils sont présents dans la Table B champ B, en gros je dois comparer une à une chaque ligne (800 lignes) ) à chaque ligne. Pouvez vous me montrer avec un exemple simple explicite comment faire faut-il lier les tables ?? etc... la requête à créer la condition à faire ? ou autre car je bloque MERCI pour votre aide... |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonjour,
ce devrait être Code :
|
||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Tout d'abord merci à vous Helas pour votre aide mais cependant : la requête fonctionne qu'une seule fois je m'explique lorsque je lance la requête la lettre p s'affiche très bien dans la colonne "p" si elle trouve la réf identique OK, par contre lorsque je fais une modif d'un réf dans la table la lettre p reste toujours figée
Deplus est -il possible de mettre 'NP" pour réf non présente, je sais pas faire. Je bloque, merci pour votre aide |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Développeur amateur Inscription : mars 2009 Messages : 176 ![]() |
Bonjour,
il faut utiliser une jointure droite de la table A vers la table B et determiner le statut de presence par la fontion iif. * Code :
UPDATE TableA LEFT JOIN TableB ON TableA.c = TableB.b SET TableA.present =iif( TableB.b is null; "NP";"P") ; |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
1-/ Merci pour votre réponse, mais il y a une erreur de syntaxe dans l'expression ( message access).
2-/ Est-il possible d'avoir la mise à jour automatiquement au lieu de supprimer tout les champs à la main. Merci pour votre aide. |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Développeur amateur Inscription : mars 2009 Messages : 176 ![]() |
Salut,
Correction faite. L'erreur provenait du point virgule que j'ai remplacé par virgule Code :
UPDATE TableA LEFT JOIN TableB ON TableA.c = TableB.b SET TableA.present =iif( TableB.b is null, "NP","P"); Cordialement |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
On peut effacer le champ "présent" avant de lancer la requete
Code :
|
||
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
bonjour,
Comment faire pour faire les deux en une seule requête sans lancer les deux à chaque fois ? Car je vais mettre un bonton de commande pour les mises à jour Merci pour votre aide |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 17 ![]() |
Bonjour,
Je ne sais pas si l'on peut intégrer les 2 requête en une seules, en revanche tu peux créer un bouton qui va lancer les 2 requêtes succéssivement. Tu peux faire cela en créant une macro qui contient 2 lignes "Exécuter SQL" puis appeler cette macro quand tu cré le bouton. Autre solution : tu crée un bouton qui lance une requête, puis tu modifies le code VBA pour ajouter la deuxième requête. |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Développeur amateur Inscription : mars 2009 Messages : 176 ![]() |
Bonjour,
Au cas où je me serais fait mal comprendre: le sql que j'ai donné dans mon précédent post est suffisant à lui tout seul. Vous n'avez pas besoin de le faire préceder par celui qui permet de vider le champ " présence ". Essayez le et vous verrez cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com