|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Bonjour et merci a ceux qui me lisent.
j'utilise un group by dans une requete et je ne comprends pas le résultat obtenu. en fait j'ai l'impression qu'il ne me revoi pas tous les enregistrements. voici ma requete : Code :
"SCORE" "SCORE " Vous remarquerez que la deuxième valeur contient un espace en fin de chaine. Avec la requete ci-dessus le résultat ne me renvoi qu'une seule occurrence de SCORE et c'est celle avec l'espace ! Je n'ai pas d'occurences sur le SCORE sans espace. Ce sont pourtant deux chaine différentes... Si j'enlève le GROUP BY de la requete, j'ai bien plusieurs occurences avec les deux SCORE (avec et sans espace). Est-ce que quelqu'un sait ce qui se passe ? Merci. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour _developpeur_,
J'ignorais cette subtilité d'Access. Je pense que "SCORE" et "SCORE " sont dans le même groupe (GROUP BY). Essaies : - un Count(*) avec un WHERE = "SCORE" ; - un Count(*) avec un WHERE = "SCORE ". ==> le Count(*) de la requête que tu présentes est-il égal à la somme des deux Count(*) ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 | ||||||
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Bonjour Richard et merci de ta réponse.
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Donc, Access considère que "SCORE" et "SCORE " sont dans le même groupe (GROUP BY) et te présente le résultat sous "SCORE ".
Les 5 enregistrements comptés sont donc les mêmes (vérifies sans le GROUP BY en sélectionnant la clé). Il suffit de le savoir... ce qui n'était pas mon cas, je l'avoue.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
OK Richard, mais ça me pose un autre problème :
si je met ma requete complète (avec d'autres champs) Code :
Sauf que le group by et l'order by ne font pas leur travail or je m'en sert par la suite dans le code VBA pour faire des sous totaux par groupe d'applications. La j'obtiens en 1ere ligne "SCORE", ==> rupture donc 1ere sous total, en 2eme ligne "SCORE " en 3eme "SCORE " ==> rupture donc 2eme sous total, en 4eme et en 5eme a nouveau "SCORE" ==> rupture 3 eme sous total. Alors que j'aurais du avoir uniquement deux sous totaux. tu vois le truc ? si tu as une idée pour contourner, je suis preneur... merci |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Comment est alimenté le champ ApplicationGroupeApplication de Facture ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
avec une requete insert dont les données proviennent d'une autre table, elle meme alimentée a l'aide d'un fichier excel.
Merci |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Eh bien, lors de l'alimentation de l'autre table par le fichier excel, utilises la fonction SupprEspace() de l'assistant, correspondant à Trim() en mode SQL.
Cette fonction supprime les espaces avant et après la chaîne de caractères Excel. Pour l'existant, crées une requête UPDATE qui utilise cette même fonction sur le champ concerné.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Richard, je suis confus mais je n'ai pas bien compris ta solution, la fonction SUPPRESPACE est une fonction VBA ?
Aurais-tu la correspondance en anglais car mon poste est configuré en anglais. Donc si je comprends bien a la lecture du fichier excel dans mon code VBA j'utiliserai cette fonction ainsi je n'aurai pas de problème dans ma table ? merci beaucoup. |
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Citation:
Pour résoudre l'existant, il faut passer par une requête UPDATE avec Trim() (à faire en dernier). Je t'invite à consulter l'aide et Google => "fonction Trim() access" : tout y est. Testes la chose, sur un ancien fichier Excel, c'est tout simple.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 304 ![]() |
Richard, encore une fois merci de ton aide.
le problème a été résolu, pour l'utilisateur il s'agit de saisir SCORE de la même manière car ça désigne en fait la même valeur. il faut donc plus de cohérence dans la saisie du fichier excel. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com