|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 26 ![]() |
Bonjour,
J'ai fait une requete de non correspondance sous Access 2010 qui fonctionne assez bien sauf qu'elle me retourne des lignes en trop sans que je sache exactement pourquoi. Je m'explique : J'ai une requete 1 qui sélectionne les champs a, b, c, d ,e d'une table 1 selon certains critères et qui me renvoie 544 lignes. une requete 2 qui sélectionne les mêmes champs a ,b, c, d, e d'une autre table selon certains critères qui me renvoie 534 lignes. J'ai ma 3e requete de non correspondance qui me retourne 26 lignes ; les 10 lignes qui correspondent bien à ma différence entre req1 et req2 + 16 autres lignes qui, en vérifiant, sont pourtant bien identiques et présentes dans req1 et req2. Je me suis aperçue qu'en modifiant à la main dans la table2 la valeur du champs d, la ligne correspondante disparaît de la req3 de non correspondance (càd : admettons que le champs d de la table 2 pour la ligne concernée vaut 50, alors je supprime la valeur, j'enregistre la table, je réécris à la main 50, j'enregistre, je ré execute req3 et là je n'ai plus que 25 lignes) et c'est la même chose pour mes 16 lignes en trop. J'ai bien regardé il n'y avait pas d'espace avant ou après le "50", je ne vois pas de quoi il peut s'agir ... si quelqu'un a une idée ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Marinaetsonchat,
Sans doute, un problème dans les liaisons. Peux-tu poster ta Table1 simplifiée, ta Table2 simplifiée et tes requêtes simplifiées ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mars 2007 Messages : 26 ![]() |
En fait dans ma table 1 le champ d est de type Numérique, alors que dans la table 2 le champ d est de type Monétaire, peut être est-ce pour ca? Les autres champs sont de même type entre eux. Mais bon sur 500 lignes pourquoi cette différence de type ne poserait problème que pour quelques lignes ... ?
Code :
req1 : SELECT a, b, c, d, e FROM table1 WHERE ... ORDER BY a; Code :
req2 : SELECT a, b, c, d, e FROM table2 WHERE ... ORDER bY a; Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Dans la Table1, n'y-a-t-il pas des (a,b,c,d,e)=Null ?
Pour tester simplement, modifies ta req3 (via l'assistant) : Code :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 26 ![]() |
non il n'y a pas d'enregistrements null.
La requête modifiée avec table1<>null et table2=0 donne le même résultat. J'ai par exemple la ligne avec les valeurs suivantes qui apparait dans ma req3, dans req 1 et dans req2 identiques : a = BL112285 b = POMPE c = 3 d = 32,34 e = DP Aucune valeur null ni dans req1, ni dans req2. On a cette même ligne dans les 2 requetes. Quand j'execute req2 je vois bien dans le champ d 32,34, mais c'est comme si req2.d était vide pour req3 pour cet enregistrement. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
2 choses :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : mars 2007 Messages : 26 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Marinaetsonchat,
"Le champ en question" doit comporter un caractère de contrôle que tu ne vois pas. Il a, peut-être, été importé d'un fichier externe ou l'utilisateur qui a saisi l'information a fait "Alt"+quelque chose. Je n'ai pas trouvé, dans Access, l'équivalent de la fonction EPURAGE de Excel. Peux-tu m'envoyer une base Access comportant, uniquement, les 2 tables avec un seul (et même) enregistrement supposé mais qui est reconnu différent dans ta requête ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com