FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV (précédentes versions)
→
WINDEV 21 : Erreur passage paramètre à une requête (IN clause)
WINDEV 21 : Erreur passage paramètre à une requête (IN clause)
Débuté par WaLinke, 24 oct. 2018 09:50 - 1 réponse
Connectez-vous…
WaLinke
#1
Membre enregistré
7 messages
Popularité : -1 (1 vote)
Posté le 24 octobre 2018 - 09:50
Bonjour à tous,
J'ai actuellement ce code erreur :
Le champ 'PLN_Filtre_SemaineSource' n'a pas pu s'initialiser, car il a rencontré l'erreur HFSQL suivante :
=============================
Erreur dans le code SQL de la requête <REQ_S_PlanifFiltree_Simple>. Initialisation de la requête impossible.
L'utilisation de paramètres n'est pas autorisée avec la fonction HExecuteRequêteSQL.
Erreur détectée ligne 5, colonne 71 :
Rhplan.Plcper > 0) ) ) AND ( >>>>{paramService}<<<< IN ( SELECT Svnsrv =============================
----- Informations techniques -----
Projet : DiliSched
Que s'est-il passé ?
Le champ 'PLN_Filtre_SemaineSource' n'a pas pu s'initialiser, car il a rencontré l'erreur HFSQL suivante :
=============================
Erreur dans le code SQL de la requête <REQ_S_PlanifFiltree_Simple>. Initialisation de la requête impossible.
L'utilisation de paramètres n'est pas autorisée avec la fonction HExecuteRequêteSQL.
Erreur détectée ligne 5, colonne 71 :
Rhplan.Plcper > 0) ) ) AND ( >>>>{paramService}<<<< IN ( SELECT Svnsrv =============================
Code erreur : 10085
Niveau : erreur fatale
Code erreur WD55 : 208
Dump de l'erreur du module 'wd210obj.dll' (21.0.430.20).
Identifiant des informations détaillées (.err) : 10085 Informations de débogage :
IEWD210SQL=1.7
Module=<WD210SQL>
Version=<21.0.78.0>
Informations supplémentaires :
EIT_POSITION_ERREUR : < >
EIT_LOGICALTABLENAME : <REQ_S_PlanifFiltree_Simple>
En fait, tout fonctionne parfaitement, ce qui fait planté ma requête, c'est ceci :
...
AND
{
paramService
}
IN
(
SELECT Svnsrv
FROM Rhserv
INNER JOIN Rhgrpp ON Rhgrpp.Gpcsvc
=
Rhserv.Svcsvc INNER JOIN Rhpost ON Rhpost.Pocgrp
=
Rhgrpp.Gpcgrp INNER JOIN Rhplan ON Rhplan.Rlcpos
=
Rhpost.Pocpst INNER JOIN Rhpers ON Rhpers.Pecper
=
Rhplan.Plcper
WHERE
Rhpers.Pecper
=
RHP.Pecper
AND
Rhplan.Plddeb
>
= {
Param_DateDebut
}
AND
Rhplan.Pldfin
<
= {
Param_DateFin
}
)
ORDER
by
Penuni
Le problème, c'est le paramService. Si je remplace ce paramètre par sa valeur ( par exemple 'Employés' ) comme ceci :
..
.
AND
'Employés'
IN
(
SELECT Svnsrv
FROM Rhserv
INNER JOIN Rhgrpp ON Rhgrpp
.
Gpcsvc
=
Rhserv
.
Svcsvc INNER JOIN Rhpost ON Rhpost
.
Pocgrp
=
Rhgrpp
.
Gpcgrp INNER JOIN Rhplan ON Rhplan
.
Rlcpos
=
Rhpost
.
Pocpst INNER JOIN Rhpers ON Rhpers
.
Pecper
=
Rhplan
.
Plcper WHERE Rhpers
.
Pecper
=
RHP
.
Pecper AND Rhplan
.
Plddeb
>
= {
Param_DateDebut
}
AND Rhplan
.
Pldfin
<
= {
Param_DateFin
}
)
ORDER BY Penuni
Alors ma requête fonctionne correctement.
Petit détail, la requête est liée à un planning (voir log de l'erreur plus haut).
Avez-vous une idée ?
Signaler
0
0
MICHEL
#2
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 27 octobre 2018 - 11:05
Je ne suis pas fan des requêtes, je construis directement ma syntaxe dans le code.
Le paramètre est alphabétique. A votre place j'essaierais de placer les côtes dans la requête :
AND
'{paramService}'
IN
(
Signaler
0
0
→ Revenir à WINDEV (précédentes versions)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte