Rechercher : dans
Par :

[ACCESS VBA SQL] Problème Requete Guillemet

Dernière réponse le 5 mar 2009 à 14:08:43 artamys, le 4 mar 2009 à 17:14:35 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [ACCESS VBA SQL] Problème Requete Guillemet » dans :
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...
Exécution de requêtes avec JDBC VoirExécution d'une requête SQL Pour exécuter une requête SQL, il s'agit dans un premier temps de créer un objet Statement, pouvant être obtenu à partir de l'objet Connection. Un objet ResultSet permettra de récupérer les données en provenance de...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...

1

Ludivine50, le 4 mar 2009 à 19:07:14

Bonjour,

essayes <>'Terminée'

Répondre à Ludivine50

2

artamys, le 5 mar 2009 à 10:04:11

Merci beaucoup Ludivine.
ça marche.

Très bonne journée.

Répondre à artamys

3

 Ludivine50, le 5 mar 2009 à 14:08:43

Heureuse de pouvoir aider à mon tour!

Répondre à Ludivine50
Collection CommentÇaMarche.net