bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011
-
25 juin 2008 à 19:49
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011
-
26 juin 2008 à 14:58
Bonjour à vous!
J'ai une requête SQL que je n'arrive pas à trouver l'erreur ...
La voici
L'erreur que je reçois est :
Error 5000 : Error in processing report.
[ Extended Info:Erreur de syntaxe dans l'opération JOIN.]
dcScen.RecordSource = "SELECT tblScenario.noScenario, descScenario, " & _
" tblScenariosProjets.NoScenario , tblScenarioProjet.noProjet, " & _
" tblScenariosProjets.noTypeSol , tblProjet.nomProjet," & _
" tblProjetSols.debitEntrant, tblProjetSols.debitSortant" & _
" FROM tblScenarios" & _
" LEFT JOIN ( tblScenariosProjets" & _
" LEFT JOIN (tblProjets LEFT JOIN ( tblProjetSols" & _
" LEFT JOIN tblTypeUtilisationSol" & _
" ON tblProjetSol.noTypeSol = tblTypeUtilisationSol.noTypeSol)" & _
" ON tblProjets.noProjet = tblProjetSols.noProjet) " & _
" ON tblScenariosProjets.noProjet = tblProjets.noProjet)" & _
" ON tblScenario.noScenario = tblScenariosProjets.noScenario" & _
" WHERE Utilise = 0"
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 juin 2008 à 19:57
salut,
manque au moins "tblProjet" dans ton FROM, même si tu fais un JOIN
ps : sinon pose plutôt ta question sur SQLFR si c'est un problème de requête (et non de code VB)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 juin 2008 à 20:01
et un debug.print sur la chaine, pas top....
SELECT tblScenario.noScenario, descScenario, tblScenariosProjets.NoScenario , tblScenarioProjet.noProjet, tblScenariosProjets.noTypeSol , tblProjet.nomProjet, tblProjetSols.debitEntrant, tblProjetSols.debitSortant FROM tblScenarios LEFT JOIN ( tblScenariosProjets LEFT JOIN (tblProjets LEFT JOIN ( tblProjetSols LEFT JOIN tblTypeUtilisationSol ON tblProjetSol.noTypeSol tblTypeUtilisationSol.noTypeSol) ON tblProjets.noProjet tblProjetSols.noProjet) ON tblScenariosProjets.noProjet = tblProjets.noProjet) ON tblScenario.noScenario = tblScenariosProjets.noScenario WHERE Utilise = 0
sans compter que tout n'est pas préfixer, faut faire un choix
Vous n’avez pas trouvé la réponse que vous recherchez ?
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011 25 juin 2008 à 20:16
Je hais les joins autre que inner... J'aime bien lister mes tables avec des ','
Bon je vais poser ma question sur SQLFR, Merci beaucoup de ton temps PCPT =)
(PCPT comme dans pcp pété??)
Mais quand meme je laisse la version sans faute de frappe ;)
SELECT tblScenarios.noScenario, tblScenarios.descScenario, tblScenariosProjets.noTypeSol , tblProjets.nomProjet, tblProjetSols.debitEntrant, tblProjetSols.debitSortant FROM tblScenarios LEFT JOIN ( tblScenariosProjets LEFT JOIN ( tblProjets LEFT JOIN ( tblProjetSols LEFT JOIN (tblTypeUtilisationSol ON tblProjetSols.noTypeSol tblTypeUtilisationSol.noTypeSol) ON tblProjets.noProjet tblProjetSols.noProjet) ON tblScenariosProjets.noProjet = tblProjets.noProjet) ON tblScenarios.noScenario = tblScenariosProjets.noScenario) WHERE Utilise = 0
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 25 juin 2008 à 21:22
Je me suis permis de réécrire la requette telle que je les écrit moi et je ne vois pas de problème particulier.
SELECT tblScenario.noScenario, descScenario,
tblScenariosProjets.NoScenario , tblScenarioProjet.noProjet,
tblScenariosProjets.noTypeSol , tblProjet.nomProjet,
tblProjetSols.debitEntrant, tblProjetSols.debitSortant
FROM tblScenarios
LEFT OUTER JOIN tblScenariosProjets ON tblScenario.noScenario = tblScenariosProjets.noScenario
LEFT OUTER JOIN tblProjets ON tblScenariosProjets.noProjet = tblProjets.noProjet
LEFT OUTER JOIN tblProjetSols ON tblProjets.noProjet = tblProjetSols.noProjet
LEFT OUTER JOIN tblTypeUtilisationSol ON tblProjetSol.noTypeSol = tblTypeUtilisationSol.noTypeSol
WHERE Utilise = 0
2 points :
- Utilise ne doit exister que dans une seule table, sinon il faut préciser la table
- Si tu es sous SQLServer, il est CaseSensitive. Vérifie bien que tes champs et tables sont écrits correctement, majuscule/minuscule compris.
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011 25 juin 2008 à 21:26
Bon, voici mes développements ^^
SELECT tblScenarios.noScenario, tblScenarios.descScenario, tblProjets.nomProjet, tblProjetSols.debitEntrant, tblProjetSols.debitSortant, tblTypeUtilisationSol.noTypeSol FROM tblScenarios,tblScenariosProjets,tblProjets,tblProjetSols,tblTypeUtilisationSol WHERE tblProjetSols.noTypeSol tblTypeUtilisationSol.noTypeSol AND tblProjets.noProjet tblProjetSols.noProjet AND tblScenariosProjets.noProjet = tblProjets.noProjet AND tblScenarios.noScenario = tblScenariosProjets.noScenario
Voila ma requete simplifier avec des inner Join. Donc pas vraiment de joins OHWII
Plus d'erreur de syntaxe, mais il ne trouve aucune enregistrement
1. L'ordre dans lequel je met mes And maTable.monChamps = maTable2.monchamps2 est-il important?
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011 25 juin 2008 à 22:12
Bon, l'erreur a changé maintenant.
Error 5000 : Error in processing report.
[ Extended Info:Erreur de syntaxe (opérateur absent) dans l'expression 'tblScenarios.noScenario = tblScenariosProjets.noScenario LEFT OUTER JOIN tblProjets ON tblScenariosProjets.noProjet = tblProjets.noProjet LEFT OUTER JOIN tblProjetSols ON tblProjets.noProjet = tblProjetSols.noProjet LEFT OUTER JOIN tblTypeUtilisationSol ON tblProjetSol.noTypeSol = tblTypeUtilisationSol.noTypeSol'.]
Je vais vous donner un peu d'info sur ma BD ....Voici les liens entre mes tables
Je crois que j'ai mal écrit l'ordre des mes joins... Mes notions d'access remontent un peu à la surface!
Et aussi, pour ce que ça intéresse, je suis en VB6, avec le plugin Active Report 2.0
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011 25 juin 2008 à 22:42
Petit changement! J'oublie les Left Joins!
Voici ce que ça donne
SELECT tblScenarios.noScenario, tblProjets.nomProjet,tblProjetSols.debitEntrant,tblProjetSols.debitSortant FROM tblScenarios INNER JOIN tblScenariosProjets INNER JOIN (tblProjets INNER JOIN (tblProjetSols INNER JOIN tblTypeUtilisationSol ON tblTypeUtilisationSol.noTypeSoltblProjetSols.noTypeSol) ON tblProjets.noProjet tblProjetSols.noProjet) ON tblProjets.noProjet = tblScenariosProjets.noProjet) ON tblScenarios.noScenario = tblScenariosProjets.noProjet
Mais j'ai toujours une erreur de syntaxe dans ma clause FROM