[access] pb de requete SQL
Résolu/Fermé
rodrigue62
lilibarth - 8 janv. 2008 à 14:44
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
lilibarth - 8 janv. 2008 à 14:44
A voir également:
- [access] pb de requete SQL
- Bonton Access avec requête SQL ✓ - Forum - Access
- [Access] Pb requete SQL ✓ - Forum - Programmation
- Access et Requete SQL impossible ? ✓ - Forum - Access
- [ACCESS] Problème requête SQL SUM puis MAX ✓ - Forum - Programmation
- {Access} Appeler une requête SQL en VBA ✓ - Forum - Access
11 réponses
rodrigue62
18 mai 2006 à 11:50
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
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
10 mai 2007 à 20:06
- Messages postés
- 372
- Date d'inscription
- jeudi 10 mai 2007
- Statut
- Membre
- Dernière intervention
- 11 mars 2020
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
21 avril 2006 à 16:52
- Messages postés
- 24070
- Date d'inscription
- dimanche 26 août 2001
- Statut
- Modérateur
- Dernière intervention
- 20 mai 2022
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
24 avril 2006 à 08:01
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
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
24 avril 2006 à 08:16
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
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
24 avril 2006 à 09:00
- Messages postés
- 24070
- Date d'inscription
- dimanche 26 août 2001
- Statut
- Modérateur
- Dernière intervention
- 20 mai 2022
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
24 avril 2006 à 09:15
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
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
24 avril 2006 à 09:38
- Messages postés
- 24070
- Date d'inscription
- dimanche 26 août 2001
- Statut
- Modérateur
- Dernière intervention
- 20 mai 2022
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
24 avril 2006 à 11:16
- Messages postés
- 190
- Date d'inscription
- vendredi 18 février 2005
- Statut
- Membre
- Dernière intervention
- 10 janvier 2011
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
24 avril 2006 à 11:22
- Messages postés
- 24070
- Date d'inscription
- dimanche 26 août 2001
- Statut
- Modérateur
- Dernière intervention
- 20 mai 2022
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