[WD12] Condition "Est dans la liste" / IN

Le
MJ.Finar
Bonjour,

Je viens vous faire part d'un problème qui semble pour le moment
totalement incompréhensible, voila le topo :

Une requete doit récupérer une liste d'enregistrement, à partir d'un
fichier HyperFile (en mode C/S), qui fonctionne avec des identifiants
uniques. Cette requete dispose d'une condition "Est ans la liste", qui
revoit une liste d'ID correspondants aux identifiants uniques de
certains enregistrements.

Problème : Malgré des identifiants corrects et nombreux passés en
parametre, la requete ne récupère jamais que le premier
enregistrement, voir même aucun.

Le problème est apparu avec une requete créée sous l'éditeur de
requete, puis sur une requete construite en SQL dans le code. Dans les
deux cas, une éxécution en "Test" de la requete donne le même
problème, pareil en utilisant le code SQL de la requete sur WDMap ou
directement via le Centre de Controle Hyper File.

Exemple de la requete :

SELECT
OUTILS.IDOutil AS IDOutil,
OUTILS.IDFormat AS IDFormat,
OUTILS.Laize AS Laize,
OUTILS.Developpe AS Developpe
FROM
OUTILS
WHERE
OUTILS.IDOutil IN ({ParamListeIDOutils})

Avec {ParamListeIDOutils} = 1,2,3,4,5,6,7,8,9,10 Par exemple, et
des enregistrements correspondants bien à ces numéros dans le fichier
OUTILS.

Précision : Même résultat en changeant le séparateur pour un point
virgule, un TAB, un RC

Voila voila, des suggestions pour résoudre ca ?

Finar
Questions / Réponses high-tech
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
Albert
Le #14551521
Bonjour,

Mes requetes SQL contruites sur le code suivant fonctionnent
correctement

Le parametre sCpte est transmis a la procédure

Liste de compte par exemple : ('631','632','635','636')

// [< #1 Compte - #2 Liste de comptes >]
SELON nType
CAS 1 : sNoCpte = ChaîneConstruit(" = '%1'", sCpte)
CAS 2 : sNoCpte = ChaîneConstruit(" IN %1", sCpte)
FIN

// [< Code de la requête >]
sCode = [
SELECT SUM ( [MvtDébit] - [MvtCrédit] ) AS Solde
FROM LigneMvt
WHERE [Exercice] = '%1'
AND [IDCompte] %2
]

Cordialement

Albert
Publicité
Poster une réponse
Anonyme