pourquoi ca ne marche pas :(

pourquoi ca ne marche pas :( - SQL/NoSQL - Programmation

Marsh Posté le 25-10-2005 à 11:09:47    

Bonjour sous Access 2002, soit la requête suivante :  
 
SELECT DISTINCTROW impact.ref_impact, impact.impact, Count(*) AS Somme
FROM impact INNER JOIN Avis_travaux ON impact.impact = Avis_travaux.impact_serv
GROUP BY impact.ref_impact, impact.impact, Avis_travaux.date_recp
HAVING (((Avis_travaux.date_recp) Between [formulaires]![menu_principal]![deb_periode] And [formulaires]![menu_principal]![fin_periode]));
 
 
Il existe bel et bien les champs de saisie deb_periode et fin_periode dans le formulaire menu_principal, cependant à l'execution de cette requête j'obtiens le message d'erreur suivant :  
"Le moteur de la base de donnée Microsoft Jet ne reconnait pas formulaires!menu_principal!deb_periode en tant que nom de champ ou expression correcte"
 
Et là je ne comprends pas du totu le pourquoi du comment :(

Reply

Marsh Posté le 25-10-2005 à 11:09:47   

Reply

Marsh Posté le 25-10-2005 à 11:31:37    

au pif, parce-qu'une requête ne sait pas ce qu'est un formulaire? :??:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 25-10-2005 à 11:34:56    

J'avais fais la même chose dans une autre base sous access 2002 et ca marche très bien dans celle là :(
 
SELECT Région.NomRégion, Count(Région.RéfRégion) AS CompteDeRéfRégion
FROM (Dérangement INNER JOIN Localisation ON Dérangement.Réf_Localisation = Localisation.RéfLocalisation) INNER JOIN Région ON Localisation.Réf_Région = Région.RéfRégion
WHERE (((Dérangement.DateDérangement) Between [Formulaires]![Menu Statistiques]![DateDébut] And [Formulaires]![Menu Statistiques]![DateFin]))
GROUP BY Région.NomRégion;


Message édité par sharky01 le 25-10-2005 à 11:46:23
Reply

Marsh Posté le 25-10-2005 à 11:43:11    

alors j'en sais rien, je connais pas les spécificités d'access dans ce style de choses...:/


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 25-10-2005 à 12:01:02    

Bonjour,
Peut-être une piste :
Dans une clause WHERE sur une date sous Access, le format est mm/dd/yyyy.

Reply

Marsh Posté le 25-10-2005 à 12:58:24    

Merci, mes champs sont bien au format date abregée, avec un masque du genre 00/00/0000 mais cela ne fonctionne guère, je ne comprends pas le message d'erreur, les champs existe, sont valide puisque utilisés avec diverses MACRO... Je ne vis pas d'ou peut venir ce problème... :(

Reply

Marsh Posté le 25-10-2005 à 13:24:50    

si j'essaye de lancer la requete seule dans l'éditeur de requete, il me demande les paramettres correspondant à formulaire...deb_periode et formulaires..fin_periode et j'obtiens un resultat correct  :(  Mais si j'ai également remarqué que lorsque j'enregistre ma requete et ferme la fenetre de l'editeur, le "[formulaires]![menu_principal]![deb_periode]"  devient "formulaires!menu_principal!deb_periode" et pareil pour l'autre hors cela ne devrait pas arriver  :heink:

Reply

Marsh Posté le 25-10-2005 à 13:38:37    

le formulaire est-il ouvert?


---------------
MZP est de retour
Reply

Marsh Posté le 25-10-2005 à 13:44:50    

Oui le formulaire est ouvert, en fait ce qui se passe c'est que sur mon menu principal j'ai deux champd de saisie de date, deb_periode et fin_periode qui servent à delimiter les bornes de la recherche, la requête sert de support à un graph de statistique, elle est appelée lorsque l'on clique sur un bouton correspondant dans le menu principal qui a pour tache d'ouvrir le formulaire contenant ledit grah.
Donc oui le menu principal est effectivement ouvert  :(


Message édité par sharky01 le 25-10-2005 à 13:45:04
Reply

Marsh Posté le 27-10-2005 à 11:02:17    

Après test si je cré dans la form menu principal ou même dans la fentre du graphe un bouton qui lance la requête ca marche elle donne le bon résultat, mais pas quand la requête est effectué au lancement de la fenetre avec le graphe... ca foire ! Je n'y comprends rien


Message édité par sharky01 le 27-10-2005 à 11:19:13
Reply

Marsh Posté le 27-10-2005 à 11:02:17   

Reply

Marsh Posté le 02-11-2005 à 10:59:41    

Merci des réponses ;) j'ai trouvé la solution (désolé je n'ai pas put la poster plus tôt) il suffit de typer les paramètres de la requête SQL ... Pour cela ouvrir la requête en mode création et dans le menus contextuel (click droit) choisir "*paramètre" un tableau s'affiche, dans la colonne de gauche mettre les différents paramètres et dans celle de droite mettre les types correspondants.
Voila c'est tout et ensuite cela marche nickel :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed