Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de syntaxe SQL avec Windev [WD10]

11 réponses
Avatar
wd_newbie
Bonjour , j'ai un probleme de syntaxe SQl avec WD10, si je fais :

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

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

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

.=2E. et la seule chose que je re=E7ois , c'est : "Erreur de syntaxe dans
l'op=E9ration JOIN"

les donn=E9es 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

10 réponses

1 2
Avatar
Jacques TREPP
"wd_newbie" a écrit dans le message de
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)
Avatar
wd_newbie
On 30 mar, 14:13, "Jacques TREPP" wrote:


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
Avatar
wd_newbie
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
Avatar
JeAn-PhI
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
Avatar
wd_newbie
On 30 mar, 15:18, JeAn-PhI wrote:
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
Avatar
mat
wd_newbie wrote:
On 30 mar, 15:18, JeAn-PhI wrote:
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
Avatar
wd_newbie
>
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
Avatar
wd_newbie
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
Avatar
mat
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.
Avatar
Emmanuel LECOESTER
>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 ;
1 2