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

Problème Source de Données - Sous-requête

9 réponses
Avatar
mathieu
lors de l'initialisation de ma fenetre, j'ai le code suivant :


sbd_Requete est une Source de Donn=E9es

SI PAS HEx=E9cuteRequ=EAteSQL(sbd_Requete,"SELECT DISTINCT(IDAdresses) ,
LibelleAdresse , AdresseProgramme , Telephone FROM ADRESSES "+...
" LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse=3DADRESSES.IDTypeAdresse) "+...
" WHERE IdClientFournisseur=3D'"+gn_IdClient+"' AND NOT EXISTS ("+...
" SELECT * FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))") ALORS



Erreur ( "Erreur d' initialisation de la requ=EAte" + RC + HErreurInfo
())
RETOUR
FIN


HLitPremier(sbd_Requete,IDAdresses)
TableSupprimeTout(TABLE_ADRESSE)
SI PAS HEnDehors ALORS

TableAjoute(TABLE_ADRESSE,sbd_Requete.IDAdresses+TAB+...
sbd_Requete.LibelleAdresse+TAB+...
sbd_Requete.AdresseProgramme+TAB+...
sbd_Requete.Telephone)

FIN


A l'execution, il me renvoi le message d'erreur suivant :


Erreur dans le code SQL de la requ=EAte <SOUSREQUETE_00EDDD20>.
Initialisation de la requ=EAte impossible.

Quelqu'un aurait une id=E9e pour que cela fonctionne?
Aurais-je oubli=E9 un param=E8tre?

Cordialement.

9 réponses

Avatar
mat
wrote:
lors de l'initialisation de ma fenetre, j'ai le code suivant :


sbd_Requete est une Source de Données

SI PAS HExécuteRequêteSQL(sbd_Requete,"SELECT DISTINCT(IDAdresses) ,
LibelleAdresse , AdresseProgramme , Telephone FROM ADRESSES "+...
" LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse­RESSES.IDTypeAdresse) "+...
" WHERE IdClientFournisseur='"+gn_IdClient+"' AND NOT EXISTS ("+...
" SELECT * FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))") ALORS



Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo
())
RETOUR
FIN


HLitPremier(sbd_Requete,IDAdresses)
TableSupprimeTout(TABLE_ADRESSE)
SI PAS HEnDehors ALORS

TableAjoute(TABLE_ADRESSE,sbd_Requete.IDAdresses+TAB+...
sbd_Requete.LibelleAdresse+TAB+...
sbd_Requete.AdresseProgramme+TAB+...
sbd_Requete.Telephone)

FIN


A l'execution, il me renvoi le message d'erreur suivant :


Erreur dans le code SQL de la requête <SOUSREQUETE_00EDDD20>.
Initialisation de la requête impossible.

Quelqu'un aurait une idée pour que cela fonctionne?
Aurais-je oublié un paramètre?

Cordialement.





Bonjour,

s'il s'agit de fichiers HF, déjà le LEFT JOIN n'existe pas. J'ai eu dans
le passé des problèmes avec EXIST et j'essayerais avec NOT IN à la place
si la requete ne marchait toujours pas après correction de la jointure.

Salutations
Mat
Avatar
Jacques Bratières
Le Tue, 26 Jun 2007 16:20:29 +0200, a écrit:

lors de l'initialisation de ma fenetre, j'ai le code suivant :


sbd_Requete est une Source de Données

SI PAS HExécuteRequêteSQL(sbd_Requete,"SELECT DISTINCT(IDAdresses) ,
LibelleAdresse , AdresseProgramme , Telephone FROM ADRESSES "+...
" LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse­RESSES.IDTypeAdresse) "+...
" WHERE IdClientFournisseur='"+gn_IdClient+"' AND NOT EXISTS ("+...
" SELECT * FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))") ALORS



Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo
())
RETOUR
FIN


HLitPremier(sbd_Requete,IDAdresses)
TableSupprimeTout(TABLE_ADRESSE)
SI PAS HEnDehors ALORS

TableAjoute(TABLE_ADRESSE,sbd_Requete.IDAdresses+TAB+...
sbd_Requete.LibelleAdresse+TAB+...
sbd_Requete.AdresseProgramme+TAB+...
sbd_Requete.Telephone)

FIN


A l'execution, il me renvoi le message d'erreur suivant :


Erreur dans le code SQL de la requête <SOUSREQUETE_00EDDD20>.
Initialisation de la requête impossible.

Quelqu'un aurait une idée pour que cela fonctionne?
Aurais-je oublié un paramètre?

Cordialement.



En faisant des choses du même genre (Hexecuterequete) sur des bases oracle
, nous nous sommes apperçus
que les EXISTS n'étaient pas compris par WD , nous ajoutons donc
hrequetesanscorrection (à peu près!) pour
que WD n'interprète pas le SQL.

Si cela peut aider...


--
J.Bratières
Avatar
mathieu
> Bonjour,

s'il s'agit de fichiers HF, déjà le LEFT JOIN n'existe pas. J'ai eu d ans
le passé des problèmes avec EXIST et j'essayerais avec NOT IN à la place
si la requete ne marchait toujours pas après correction de la jointure.

Salutations



Tout d'abord, il s'agit d'un access natif Mysql.
J'ai tenté de remplacer le Not Exist, par Not In et cela donne :

SELECT DISTINCT(IDAdresses) , LibelleAdresse , AdresseProgramme ,
Telephone FROM ADRESSES LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse­RESSES.IDTypeAdresse) WHERE
IdClientFournisseur='4110101' AND ADRESSES.IDAdresses NOT IN (SELECT
ADRESSES.IDAdresses FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))


le message d'erreur renvoyer est maintenant :

Erreur dans le code SQL de la requête <SOUSREQUETE_00ED2350>.
Initialisation de la requête impossible.
Avatar
mathieu
> En faisant des choses du même genre (Hexecuterequete) sur des bases ora cle
, nous nous sommes apperçus
que les EXISTS n'étaient pas compris par WD , nous ajoutons donc
hrequetesanscorrection (à peu près!) pour
que WD n'interprète pas le SQL.

Si cela peut aider...

--
J.Bratières-




Lorsque je rajoute l'option, hRequêteSansCorrection à mon code :

sdb_Requete est une Source de Données


SI PAS HExécuteRequêteSQL(sdb_Requete,hRequêteSansCorrection,"SELECT
DISTINCT(IDAdresses) , LibelleAdresse , AdresseProgramme , Telephone
FROM ADRESSES "+...
" LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse­RESSES.IDTypeAdresse) "+...
" WHERE IdClientFournisseur='"+gn_IdClient+"' AND ADRESSES.IDAdresses
NOT IN (SELECT ADRESSES.IDAdresses "+...
" FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))") ALORS

Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo
())

RETOUR
FIN

Le message d'erreur renvoyer est :

L'utilisation de l'option hRequêteSansCorrection n'est autorisée que
si un nom de connexion est spécifié dans l'appel à la fonction. Vous
devez modifier l'appel à la fonction en lui passant un nom de
connexion valide.

peut etre une erreur dans la syntaxe mais il ne me semble pas.
Avatar
Jacques Bratières
Le Tue, 26 Jun 2007 17:06:03 +0200, a écrit:

En faisant des choses du même genre (Hexecuterequete) sur des bases
oracle
, nous nous sommes apperçus
que les EXISTS n'étaient pas compris par WD , nous ajoutons donc
hrequetesanscorrection (à peu près!) pour
que WD n'interprète pas le SQL.

Si cela peut aider...

--
J.Bratières-




Lorsque je rajoute l'option, hRequêteSansCorrection à mon code :

sdb_Requete est une Source de Données


SI PAS HExécuteRequêteSQL(sdb_Requete,hRequêteSansCorrection,"SELECT
DISTINCT(IDAdresses) , LibelleAdresse , AdresseProgramme , Telephone
FROM ADRESSES "+...
" LEFT JOIN TYPEADRESSE ON
(TYPEADRESSE.IDTypeAdresse­RESSES.IDTypeAdresse) "+...
" WHERE IdClientFournisseur='"+gn_IdClient+"' AND ADRESSES.IDAdresses
NOT IN (SELECT ADRESSES.IDAdresses "+...
" FROM Programme_Adresses WHERE
(Programme_Adresses.IDAdresses<>ADRESSES.IDAdresses))") ALORS

Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo
())

RETOUR
FIN

Le message d'erreur renvoyer est :

L'utilisation de l'option hRequêteSansCorrection n'est autorisée que
si un nom de connexion est spécifié dans l'appel à la fonction. Vous
devez modifier l'appel à la fonction en lui passant un nom de
connexion valide.

peut etre une erreur dans la syntaxe mais il ne me semble pas.




Non pas de syntaxe SQL , mais le premier paramètre doit être le nom de la
connexion à laquelle la requête est adressée.


--
J.Bratières
Avatar
Xipotera
> Non pas de syntaxe SQL , mais le premier paramètre doit être le nom d e la
connexion à laquelle la requête est adressée.

--
J.Bratières



Nikel, ma requete est maintenant reconnue.
Va falloir que je refasse ma requete par contre :(

Quoiqu'il en soit, merci pour ton aide Jacques.

Cordialement
Avatar
Jacques Bratières
Le Tue, 26 Jun 2007 17:54:57 +0200, Xipotera
a écrit:

Non pas de syntaxe SQL , mais le premier paramètre doit être le nom de
la
connexion à laquelle la requête est adressée.

--
J.Bratières



Nikel, ma requete est maintenant reconnue.
Va falloir que je refasse ma requete par contre :(

Quoiqu'il en soit, merci pour ton aide Jacques.

Cordialement




Zaireiznotovouatte.

--
J.Bratières
Avatar
Xipotera
> Zaireiznotovouatte.



Pas compris?
Avatar
Jacques Bratières
Le Tue, 26 Jun 2007 18:19:09 +0200, Xipotera
a écrit:


Zaireiznotovouatte.



Pas compris?




En anglais de cuisine: There is not of what.... Il n' y a pas de quoi....


--
J.Bratières