Problème de syntaxe SQL avec Windev [WD10]

Le
wd_newbie
Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1, T2 WHERE T1.NoFournisseur= T2.NoFournisseur
]

je retourne tous mes articles dont le fournisseur est renseigné , donc
j'essaie de passer par une jointure :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1LEFT JOIN T2ON T1.NoFournisseur= T2.NoFournisseur
]

et la seule chose que je reçois , c'est : "Erreur de syntaxe dans
l'opération JOIN"

les données proviennent d'un base Access, et , en plus , si je colle
ce code dans une requete Access elle fonctionne.
Ou est-ce que je me vautre ??


Merci d'avance et bon week-end !!


Olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques TREPP
Le #14652971
"wd_newbie" news:
Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1, T2 WHERE T1.NoFournisseur= T2.NoFournisseur
]

je retourne tous mes articles dont le fournisseur est renseigné , donc
j'essaie de passer par une jointure :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1LEFT JOIN T2ON T1.NoFournisseur= T2.NoFournisseur
]

... et la seule chose que je reçois , c'est : "Erreur de syntaxe dans
l'opération JOIN"

les données proviennent d'un base Access, et , en plus , si je colle
ce code dans une requete Access ... elle fonctionne.
Ou est-ce que je me vautre ??

Juste une précision : la requète que tu nous donne, c'est un copier/coller ?
si oui, il manque des espaces :
sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 LEFT JOIN T2 ON T1.NoFournisseur= T2.NoFournisseur
]




--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
wd_newbie
Le #14652961
On 30 mar, 14:13, "Jacques TREPP"

Juste une précision : la requète que tu nous donne, c'est un copier/c oller ?
si oui, il manque des espaces :
sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 LEFT JOIN T2 ON T1.NoFournisseur= T2.NoFournisseur
]





Non, dans l'originale , il y les espaces

Olivier
wd_newbie
Le #14652951
En fait il suffit que je remplace 'LEFT JOIN' par une virgule dans :
"FROM T1 LEFT JOIN T2" par "FROM T1,T2"

et que je remplace le " ON " de :
"ON T1.NoFournisseur= T2.NoFournisseur"

par un WHERE pour que cela me retourne des enregistrements ...mais pas
tous ...

Olivier
JeAn-PhI
Le #14652941
wd_newbie a écrit :
Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1, T2 WHERE T1.NoFournisseur= T2.NoFournisseur
]

je retourne tous mes articles dont le fournisseur est renseigné , donc
j'essaie de passer par une jointure :

sSql=[
SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1LEFT JOIN T2ON T1.NoFournisseur= T2.NoFournisseur
]

... et la seule chose que je reçois , c'est : "Erreur de syntaxe dans
l'opération JOIN"

les données proviennent d'un base Access, et , en plus , si je colle
ce code dans une requete Access ... elle fonctionne.
Ou est-ce que je me vautre ??


Merci d'avance et bon week-end !!


Olivier



essayer dans une variable texte mais pas multiligne car le multiligne
tiens compte des RC
essayez comme suit :
sSql = "SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur FROM T1 LEFT
JOIN T2 ON T1.NoFournisseur = T2.NoFournisseur"

--
Cordialement JeAn-PhI
wd_newbie
Le #14652931
On 30 mar, 15:18, JeAn-PhI
wd_newbie a écrit :



> Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :

essayer dans une variable texte mais pas multiligne car le multiligne
tiens compte des RC
essayez comme suit :
sSql = "SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur FROM T1 LEFT
JOIN T2 ON T1.NoFournisseur = T2.NoFournisseur"

--
Cordialement JeAn-PhI



Non , pas plus de réussite , c'est bizzare , est-ce que le fait que
j'utilise un HDéclareExterne pour déclarer mes tables Access peut
poser un problème ?

Olivier
mat
Le #14652921
wd_newbie wrote:
On 30 mar, 15:18, JeAn-PhI
wd_newbie a écrit :



Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :


essayer dans une variable texte mais pas multiligne car le multiligne
tiens compte des RC
essayez comme suit :
sSql = "SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur FROM T1 LEFT
JOIN T2 ON T1.NoFournisseur = T2.NoFournisseur"

--
Cordialement JeAn-PhI



Non , pas plus de réussite , c'est bizzare , est-ce que le fait que
j'utilise un HDéclareExterne pour déclarer mes tables Access peut
poser un problème ?

Olivier





Bonjour,

je suppose Windev assume une requête HF et là LEFT JOIN n'existe pas. Tu
as spécifié hRequêteSansCorrectionHF ?

Salutations
Mat
wd_newbie
Le #14652911
>
je suppose Windev assume une requête HF et là LEFT JOIN n'existe pas. Tu
as spécifié hRequêteSansCorrectionHF ?

Salutations
Mat



Je n'avais pas essayé, mais après test , le problème subsiste :-(

Olivier
wd_newbie
Le #14652891
J'avance dans mon problème :

si je fais :

SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 as a LEFT JOIN T2 as b ON (a.NoFournisseur= b.NoFournisseur)

cela fonctionne ... ne me demandez pas la raison ... par contre j'ai
trois jointures a intégrer dans la requête :-((

Olivier
mat
Le #14652881
wd_newbie wrote:
J'avance dans mon problème :

si je fais :

SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 as a LEFT JOIN T2 as b ON (a.NoFournisseur= b.NoFournisseur)

cela fonctionne ... ne me demandez pas la raison ... par contre j'ai
trois jointures a intégrer dans la requête :-((

Olivier





bon, il y a toujours

SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 INNER JOIN T2 ON (T1.NoFournisseur= T2.NoFournisseur)

qui marche tant sous Access que HF.
Emmanuel LECOESTER
Le #14650771
>SELECT T1.NoArt, T1.NomArt, T2.NomFournisseur
FROM T1 as a LEFT JOIN T2 as b ON (a.NoFournisseur= b.NoFournisseur)



Etonnant que celà fonctionne vu que tu as "aliasé" le fichier T1 par a...


Que donne :


SELECT A.NoArt, A.NomArt, B.NomFournisseur
FROM T1 as a LEFT OUTER JOIN T2 as b ON a.NoFournisseur= b.NoFournisseur ;
Publicité
Poster une réponse
Anonyme