[access] pb de requete SQL
Résolu/Fermé
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
-
21 avril 2006 à 15:35
lilibarth - 8 janv. 2008 à 14:44
lilibarth - 8 janv. 2008 à 14:44
A voir également:
- [access] pb de requete SQL
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Requete sql pix - Forum PHP
11 réponses
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
30
18 mai 2006 à 11:50
18 mai 2006 à 11:50
salut c'est encore moi ;-)
je cherche quelqu'un a qui je pourrait envoyer par mail ma base de donnée, car en fait il y a une requete que j'essaye de faire sur plusieurs table en faisant des sommes sur plusieurs champs numeriques, mais ca me donne des resultats aberant, en fait j'ai l'impression que ca compte plusieurs fois les meme champ, j'ai essayé de plusierus manieres differentes mais rien a faire, ca fait 2 jours que je suis dessus, donc si qq1 pouvait y jeter un oeil et me dire ce qu'il en pense...
je cherche quelqu'un a qui je pourrait envoyer par mail ma base de donnée, car en fait il y a une requete que j'essaye de faire sur plusieurs table en faisant des sommes sur plusieurs champs numeriques, mais ca me donne des resultats aberant, en fait j'ai l'impression que ca compte plusieurs fois les meme champ, j'ai essayé de plusierus manieres differentes mais rien a faire, ca fait 2 jours que je suis dessus, donc si qq1 pouvait y jeter un oeil et me dire ce qu'il en pense...
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
10 mai 2007 à 20:06
10 mai 2007 à 20:06
Bonjour,
Je ch qqu'un qui puisse m'aider sur access.
Dans une requête, je voudrais pouvoir compter les lignes Date. Le problème c'est que les lignes comportant la même date doivent compter pour 1 jour dans mon réusltat, comment faire ?
Merci de votre aide précieuse.
Je ch qqu'un qui puisse m'aider sur access.
Dans une requête, je voudrais pouvoir compter les lignes Date. Le problème c'est que les lignes comportant la même date doivent compter pour 1 jour dans mon réusltat, comment faire ?
Merci de votre aide précieuse.
blux
Messages postés
26784
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
14 avril 2025
3 334
21 avril 2006 à 16:52
21 avril 2006 à 16:52
Salut,
as-tu essayé en ôtant tous les accents (surtout les majuscules) ?
Mais ça t'oblige à redéfinir tes tables...
as-tu essayé en ôtant tous les accents (surtout les majuscules) ?
Mais ça t'oblige à redéfinir tes tables...
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
30
24 avril 2006 à 08:01
24 avril 2006 à 08:01
Non c'est au niveau de la fonction DISTINCT qu'est le probleme, si je veux compter toute les fois ou le camion est apparu ca va mais en fait je veux compter les dates differentes auquels il est apparu, en fait si il faut que je compte dans le mois le nombre de jours ou le camion est utilisé dans le mois, si il est utilisé plusieurs fois au cour d'une meme journée ca ne compte qu'une fois.
En fait la je faisais ensuite un calcul, donc j'ai essyé de simplifier ma requete en n'essayant de trouver que le nombre d'utilistation du camion et ensuite j'utiserai cette requete dans une autre
j'ai donc la requete suivante:
SELECT Count(DISTINCT(TOURNEE.NOM_CAMION)) AS Nbr_location, TOURNEE.DATE
FROM TOURNEE
GROUP BY TOURNEE.DATE;
et ca me met comme erreur: fontion 'DISTINCT' non definie dans l'expression
En fait la je faisais ensuite un calcul, donc j'ai essyé de simplifier ma requete en n'essayant de trouver que le nombre d'utilistation du camion et ensuite j'utiserai cette requete dans une autre
j'ai donc la requete suivante:
SELECT Count(DISTINCT(TOURNEE.NOM_CAMION)) AS Nbr_location, TOURNEE.DATE
FROM TOURNEE
GROUP BY TOURNEE.DATE;
et ca me met comme erreur: fontion 'DISTINCT' non definie dans l'expression
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
30
24 avril 2006 à 08:16
24 avril 2006 à 08:16
non le programme la compterai le nombre de camions differents par date ce qu'il me faut c'est
SELECT Count(DISTINCT(TOURNEE.DATE)) AS Nbr_location,TOURNEE.NOM_CAMION
FROM TOURNEE
GROUP BY TOURNEE.NOM_CAMION;
mais le resultat est le meme j'obtient la meme erreur
SELECT Count(DISTINCT(TOURNEE.DATE)) AS Nbr_location,TOURNEE.NOM_CAMION
FROM TOURNEE
GROUP BY TOURNEE.NOM_CAMION;
mais le resultat est le meme j'obtient la meme erreur
blux
Messages postés
26784
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
14 avril 2025
3 334
24 avril 2006 à 09:00
24 avril 2006 à 09:00
Après tests, il semblerait que DISTINCT, en tant que prédicat ACCESS (comme TOP, ALL...), ne supporterait pas d'être 'encapsulé' dans un COUNT...
Ce qu'on peut faire, c'est enregistrer la requête avec le DISTINCT (sous le nom R1, par exemple), puis lancer une autre requête qui fera le count sur les résultats de R1 :
Et là, ça marche...
Ce qu'on peut faire, c'est enregistrer la requête avec le DISTINCT (sous le nom R1, par exemple), puis lancer une autre requête qui fera le count sur les résultats de R1 :
SELECT COUNT (R1.EXPR1) FROM R1;
Et là, ça marche...
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
30
24 avril 2006 à 09:15
24 avril 2006 à 09:15
Ok merci. et y a t-il moyen pour les champs non renseigné de renvoyer 0. Je m'explique, si au cours d'un mois un camion n'a effectué aucune date, ce camion n'apparaitra pas dans ma requete qui compte le nombre de dates effectuées, or je voudrais qu'il aparaisse avec la valeur 0 affectée
blux
Messages postés
26784
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
14 avril 2025
3 334
24 avril 2006 à 09:38
24 avril 2006 à 09:38
Pour cela, tu as la fonction iif :
Mais il faudra peut-être transformer TOURNEE.DATE en chaine de caractère...
SELECT IIF(TOURNEE.DATE="","0",TOURNEE.DATE) FROM ...
Mais il faudra peut-être transformer TOURNEE.DATE en chaine de caractère...
rodrigue62
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
30
24 avril 2006 à 11:16
24 avril 2006 à 11:16
Ok merci je connaissais la fonction IIF car je l'avais deja utilisée dans des champs calculés mais je savais pas que l'on pouvais l'utiliser dans des requêtes SQL.
Merci de ton aide et de ta patience.
Merci de ton aide et de ta patience.
blux
Messages postés
26784
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
14 avril 2025
3 334
24 avril 2006 à 11:22
24 avril 2006 à 11:22
TOUTES (ou presque) les fonctions ACCESS peuvent être utilisées dans le SQL : format, len, mid, iif, cos, datepart...
18 mai 2006 à 15:39