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

Le
mathieu
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=ADRESSES.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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
mat
Le #14627511
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
Jacques Bratières
Le #14627501
Le Tue, 26 Jun 2007 16:20:29 +0200,
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
mathieu
Le #14627481
> 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.
mathieu
Le #14627471
> 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.
Jacques Bratières
Le #14627421
Le Tue, 26 Jun 2007 17:06:03 +0200,
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
Xipotera
Le #14627411
> 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
Jacques Bratières
Le #14627401
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
Xipotera
Le #14627391
> Zaireiznotovouatte.



Pas compris?
Jacques Bratières
Le #14624971
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
Publicité
Poster une réponse
Anonyme