Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/06/2011, 16h03   #1
Invité de passage
 
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Par défaut Requête qui s'éxécute de façon incomplète

Bonjour à tous,
Je reviens une nouvelle fois vous appeler à l'aide et vous remercie par avance de vos réponses face à un probléme métaphysique.
J'ai une grosse base de données (7 millions d'enregistrements) qui contient diverses caractéristiques de véhicules (références du moteur, date de fabrication, équipement, etc).
J'ai fait une requête sur plusieurs critères (6) pour les regrouper par "famille" (par exemple Diesel avec boite automatique). Ca me donne environ 500 possibilités différentes... que je regroupe en 12 familles. Jusque là tout va bien.

Où ça foire : je veux affecter à chaque véhicule sa "famille". A partir de mon regroupement précédent, j'ai une table de correspondance "moteur X, boite Y, truc Z ==> Famille F", ce qui n'est pas bien difficile a priori !

Problème : quand j'exécute cette requête, le résultat ne me donne pas 7 millions de véhicules "rattachés", mais seulement 3,8 millions...

Quelqu'un a t'il une idée de l'origine possible du pb ?
Merci infiniment par avance
trend67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 16h50   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Trend67,

Deux contrôles :
  • Le cumul des Count(*) sur tes 6 critères (500 lignes donc) donne-t-il 7 millions d'enregistrements ?
  • Dans ta table, n'aurais-tu pas un ou plusieurs de tes 6 critères Null ou "" ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 20h11   #3
Invité de passage
 
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Bonsoir Richard_35,
Et merci d'abord de la rapidité de ta réponse !!

1er point : oui !! (j'ai mis plus de temps que toi à y penser, mais j'ai vérifié )
2ième point : je crains que ce soit la bonne réponse... Il y a effectivement dans mes voitures des cas où un champ n'est pas documenté... et après vérif à l'instant, c'est bien ceux là qui ne remontent pas

Merci de ton aide !!! Question subsidiaire : vu comme tu as vite identifié le problème, je suis sûr qu'en prime tu connais la solution... ce qui me fait t'implorer à genoux

A nouveau merci par avance !!
trend67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 20h18   #4
Invité de passage
 
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
idée de solution "possible" : passez mes 7 millions d'autos à travers une fonction nz "massive" ???
J'essaye de suite, mais si tu as mieux, n'hésite bien sûr pas :-)
trend67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 09h56   #5
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Trend67,

Tout d'abord, est-ce normal que un ou plusieurs des 6 critères soi(en)t Null ou "" ?
  1. si non, alors il faut les renseigner ;
  2. si oui, alors 2 choix possibles :
  • UPDATE global de remplacement des Null ou "" par "Non renseigné" ou nz(xxx) ;
  • créer, une requête "sélection" qui remplace la valeur Null ou "" par "Non renseigné" ou nz(xxx), puis partir de cette requête en source de tes autres requêtes.
Enfin, je pense que tu voies l'esprit.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 13h24   #6
Invité de passage
 
Inscription : décembre 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 7
Points : 1
Points : 1
Merci à nouveau !!
1) normal, non mais c'est malheureusement comme ça ! Heureusement, il y a des recoupements possibles (genre un véhicule annoncé comme carburant au sans plomb 98 n'est sans doute pas diesel ) Comme je peux difficilement demander à l'entreprise de complèter les 3 millions de véhicules "incomplets", je me débrouille !
2) comme évoqué hier soir, et comme tu me le conseilles, j'ai repassé mes 7 millions d'auto à travers une moulinette nz(xx; "vide"), et ça m'a permis de récupérer tout le monde !

Merci infiniment de ton aide !! et bien sûr à disposition si je peux aider un encore plus débutant que moi (si ça existe..) !

Très bonne journée
trend67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h17.


 
 
 
 
Partenaires

Hébergement Web