[ACCESS VBA SQL] Problème Requete Guillemet

Résolu/Fermé
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 - 4 mars 2009 à 17:14
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 5 mars 2009 à 14:08
Bonjour,

j'ai un problème de requète SQL sous VBA.
La requète fonctionne normalement.
Quand je le personnalise en ajoutant un critère et en redefinissant de fait le code de la requète c'est un morceau du code qui fonctionnait jusqu'alors qui ne marche plus.
Ce morceau est : AND ((TB_DEI.EtatDEI)<>"Terminée"))

La requète qui marche en normal :

SELECT TB_DEI.NumDEI, TB_Projet.NomProjet, TB_Projet.DetailProjet, TB_Projet.TendanceProjet, TB_Projet.PlanningProjet, TB_Projet.CoutProjet, TB_Projet.Priorite, TB_Projet.CommentaireHebdomadaireProjet, TB_TC.NomTC, TB_CommercialCoface.NomCommercialCoface, TB_DSICoface.NomDSICoface, TB_Projet.DateReception, TB_Projet.RefDemandeur, TB_Projet.NumStatutProjet, TB_DEI.EtatDEI, TB_DSICoface.Localisation, *
FROM TB_CommercialCoface INNER JOIN (TB_DSICoface INNER JOIN (TB_Projet INNER JOIN (TB_DEI INNER JOIN TB_TC ON TB_DEI.NumTC = TB_TC.NumTC) ON (TB_TC.NumTC = TB_Projet.NumTC) AND (TB_Projet.NumProjet = TB_DEI.NumProjet)) ON TB_DSICoface.NumDSICoface = TB_Projet.NumDSICoface) ON TB_CommercialCoface.NumCommercialCoface = TB_Projet.NumCommercialCoface
WHERE (((TB_Projet.NumStatutProjet)=1) AND ((TB_DEI.EtatDEI)<>"Terminée") AND ((TB_TC.NumTC)=6));

La partie qui va géner est : TB_DEI.EtatDEI)<>"Terminée"
ce sont les "" a mon avis.

Ci joint le code de la requete personnalisée :

Set db = CurrentDb()

Dim strSQLJ1 As String
Dim CalculJ1 As Variant
Dim rst1 As DAO.Recordset

strSQLJ1 = "SELECT TB_DEI.NumDEI, TB_Projet.NomProjet, TB_Projet.DetailProjet, TB_Projet.TendanceProjet, TB_Projet.PlanningProjet, TB_Projet.CoutProjet, TB_Projet.Priorite, TB_Projet.CommentaireHebdomadaireProjet, TB_TC.NomTC, TB_CommercialCoface.NomCommercialCoface, TB_DSICoface.NomDSICoface, TB_Projet.DateReception, TB_Projet.RefDemandeur, TB_Projet.NumStatutProjet, TB_DEI.EtatDEI, TB_DSICoface.Localisation, * FROM TB_CommercialCoface INNER JOIN (TB_DSICoface INNER JOIN (TB_Projet INNER JOIN (TB_DEI INNER JOIN TB_TC ON TB_DEI.NumTC = TB_TC.NumTC) ON (TB_TC.NumTC = TB_Projet.NumTC) AND (TB_Projet.NumProjet = TB_DEI.NumProjet)) ON TB_DSICoface.NumDSICoface = TB_Projet.NumDSICoface) ON TB_CommercialCoface.NumCommercialCoface = TB_Projet.NumCommercialCoface WHERE (TB_TC.NumTC=" & Liste_TC & " AND ((TB_Projet.NumStatutProjet)=1)) AND ((TB_DEI.EtatDEI)<>"Terminée"));"

Partie bloquante : AND ((TB_DEI.EtatDEI)<>"Terminée")) il veut une valeur pour "Terminée"

Merci de votre aide.


CurrentDb.QueryDefs("Requete_personnalisation_DEI").SQL = strSQLJ1

2 réponses

Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
4 mars 2009 à 19:07
Bonjour,

essayes <>'Terminée'
1
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 7
5 mars 2009 à 10:04
Merci beaucoup Ludivine.
ça marche.

Très bonne journée.
0
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 7
5 mars 2009 à 14:08
Heureuse de pouvoir aider à mon tour!
0