Requete avec des dates

imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 7 avril 2008 à 14:01
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008 - 7 avril 2008 à 16:48
Bonjour j'ai une enigme concernant ma requete
Je souhaite faire une requete avec comme critère des dates qui sont sur mon formulaire mais la syntaxe ne corespond pas ou la requete est trop complexe pour etre corectement interprété par la machine.
Voici mon code  et ce que je souhaietrai faire

SELECT PROJET.IdProjet, PROJET.IntituléProjet, RISQUE.DetailRisque, IMPACT.DetailImpact, AVANCEMENT.DetailAvancement, CHEF_PROJET.CodeAlliance
FROM IMPACT, PROJET, RISQUE, CHEF_PROJET, AVANCEMENT
WHERE PROJET.IdProjet)=[RISQUE].[IdProjet]
And PROJET.IdProjet=[IMPACT].[IdProjet]
AND AVANCEMENT.IdProjet=[PROJET].[IdProjet]
AND PROJET.IdChefProjet=[CHEF_PROJET].[IdChefProjet]
AND CHEF_PROJET.CodeAlliance=[Forms]![FormulaireIdentification]![login]
AND AVANCEMENT.DateMiseAJour BETWEEN #[Forms]![FormulaireSyntheseDate]![Texte1]#
AND #[Forms]![FormulaireSyntheseDate]![Texte3]#;
 
Voici le message d'erreur :
Cette expression présente une syntaxe incorrecte ou est trop complexe pour être evalué.
Par exemple une expression numérique peut contenir des elemepent trop compliqués.
Essayer de la simplifié en en affectant des parties a des variables.

Voici la requete qui marche :

SELECT PROJET.IdProjet, PROJET.IntituléProjet, RISQUE.DetailRisque, IMPACT.DetailImpact, AVANCEMENT.DetailAvancement, CHEF_PROJET.CodeAlliance
FROM IMPACT, PROJET, RISQUE, CHEF_PROJET, AVANCEMENT
WHERE PROJET.IdProjet)=[RISQUE].[IdProjet]
And PROJET.IdProjet=[IMPACT].[IdProjet]
AND AVANCEMENT.IdProjet=[PROJET].[IdProjet]
AND PROJET.IdChefProjet=[CHEF_PROJET].[IdChefProjet]
AND CHEF_PROJET.CodeAlliance=[Forms]![FormulaireIdentification]![login];

jusque ici elle marche mais quand je rajoute la ligne avec les date sa ne marche pas

et ecrite comme sa elle marche aussi :
SELECT PROJET.IdProjet, PROJET.IntituléProjet, RISQUE.DetailRisque, IMPACT.DetailImpact, AVANCEMENT.DetailAvancement, CHEF_PROJET.CodeAlliance
FROM IMPACT, PROJET, RISQUE, CHEF_PROJET, AVANCEMENT
WHERE PROJET.IdProjet)=[RISQUE].[IdProjet]
And PROJET.IdProjet=[IMPACT].[IdProjet]
AND AVANCEMENT.IdProjet=[PROJET].[IdProjet]
AND PROJET.IdChefProjet=[CHEF_PROJET].[IdChefProjet]
AND CHEF_PROJET.CodeAlliance=[Forms]![FormulaireIdentification]![login]; 
And(AVANCEMENT.DateMiseAJour) Between #02/03/2008# and #30/03/2008#;

La question, est comment remplacer ces deux date par des variables ??????????????
pour info ces varable sont des valeur que je recupère a partir d'un formulaire .............;

merci pour votre aide sa fait 3 jours que je suis boquer dessus !!

12 réponses

crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
7 avril 2008 à 15:02
Une CHose déjà, il y a une parenthèse en trop ligne 5.

Pour l'erreur, essaye :

Between #" & [Forms]![FormulaireSyntheseDate]![Texte1] & "# and #" & [Forms]![FormulaireSyntheseDate]![Texte3] &"
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 15:46
Nan jai toujour une erreur de syntaxe ..
0
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
7 avril 2008 à 15:57
AND
CHEF_PROJET.CodeAlliance=" & [Forms]![FormulaireIdentification]![login

] & "
et enlève le point virgule après
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:00
voici mon code :

SELECT PROJET.IdProjet, PROJET.IntituléProjet, AVANCEMENT.DetailAvancement, IMPACT.DetailImpact, RISQUE.DetailRisque, CHEF_PROJET.CodeAlliance, AVANCEMENT.DateMiseAjour
FROM (((CHEF_PROJET INNER JOIN PROJET ON CHEF_PROJET.IdChefProjet=PROJET.IdChefProjet) INNER JOIN AVANCEMENT ON PROJET.IdProjet=AVANCEMENT.IdProjet) INNER JOIN IMPACT ON PROJET.IdProjet=IMPACT.IdProjet) INNER JOIN RISQUE ON PROJET.IdProjet=RISQUE.IdProjet
WHERE CHEF_PROJET.CodeAlliance=[Forms]![FormulaireIdentification]![login]
And AVANCEMENT.DateMiseAjour between #" & [Forms]![FormulaireSyntheseDate]![Texte1] & "# and #" & [Forms]![FormulaireSyntheseDate]![Texte3] &"#;

et il ya une erreur de syntaxe mais il ne m'indique pas ou est l'erreur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:06
imène
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:09
imène
0
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
7 avril 2008 à 16:12
SELECT PROJET.IdProjet, PROJET.IntituléProjet,
AVANCEMENT.DetailAvancement, IMPACT.DetailImpact, RISQUE.DetailRisque,
CHEF_PROJET.CodeAlliance, AVANCEMENT.DateMiseAjour
FROM
(((CHEF_PROJET INNER JOIN PROJET ON
CHEF_PROJET.IdChefProjet=PROJET.IdChefProjet) INNER JOIN AVANCEMENT ON
PROJET.IdProjet=AVANCEMENT.IdProjet) INNER JOIN IMPACT ON
PROJET.IdProjet=IMPACT.IdProjet) INNER JOIN RISQUE ON
PROJET.IdProjet=RISQUE.IdProjet
WHERE CHEF_PROJET.CodeAlliance=" &[Forms]![FormulaireIdentification]![login] & "
And
AVANCEMENT.DateMiseAjour between #" &
[Forms]![FormulaireSyntheseDate]![Texte1] & "# and #" &
[Forms]![FormulaireSyntheseDate]![Texte3] &"#;
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:18
non plus je viens dessayer le code que tu ma mis mais cela mindique une erreur de syntaxe :

SELECT PROJET.IdProjet, PROJET.IntituléProjet, AVANCEMENT.DetailAvancement, IMPACT.DetailImpact, RISQUE.DetailRisque, CHEF_PROJET.CodeAlliance, AVANCEMENT.DateMiseAjour
FROM (((CHEF_PROJET INNER JOIN PROJET ON CHEF_PROJET.IdChefProjet=PROJET.IdChefProjet) INNER JOIN AVANCEMENT ON PROJET.IdProjet=AVANCEMENT.IdProjet) INNER JOIN IMPACT ON PROJET.IdProjet=IMPACT.IdProjet) INNER JOIN RISQUE ON PROJET.IdProjet=RISQUE.IdProjet
WHERE CHEF_PROJET.CodeAlliance=" & [Forms]![FormulaireIdentification]![login ] & "
and AVANCEMENT.DateMiseAjour between #" & [Forms]![FormulaireSyntheseDate]![Texte1] & "# and # " & [Forms]![FormulaireSyntheseDate]![Texte3] &"#;

et lorsque j'enleve les diez # cela mindique une incompatibilité de type avec l'expression critère
0
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
7 avril 2008 à 16:29
Si tu remplaces

& [Forms]![FormulaireSyntheseDate]![Texte1] &  par une date et
& [Forms]![FormulaireSyntheseDate]![Texte3] &  par une date
ca marche?

WHERE CHEF_PROJET.CodeAlliance=" & [Forms]![FormulaireIdentification]![login ] & "
and
AVANCEMENT.DateMiseAjour between #07/04/2008# and # "07/04/208"#;
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:39
Oui sa marche très bien !

j'avais déja fait le teste auparavant !

c'est étrange d'avoir ce type d'ereur !
0
crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
7 avril 2008 à 16:41
Quel est le format de ton :

[Forms]![FormulaireSyntheseDate]![Texte1] ??
0
imsse Messages postés 37 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 16:48
c'est une texte box dans le quelle je rentre une date du type 07/04/2008
quoi quil en soit la requete devrai dabord se lancer avant de trouver des faute de type c'est sa que je ne comprend pas !
0