PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → SQL Valeur prise pour une colonne, impossible d'executer requête
SQL Valeur prise pour une colonne, impossible d'executer requête
Iniciado por Kevin Guitton, 14,ene. 2019 16:30 - No hay respuesta
Publicado el 14,enero 2019 - 16:30
Bonjour à tous,


Comme dit dans le titre, mes paramètres envoyés dans la clause WHERE après le symbole = sont considérés comme des colonnes et non des valeurs.

En théorie, il suffirait de mettre des guillemets sur le paramètre pour faire comprendre qu'il s'agit bien d'une valeur et non d'un nom de colonne, mais on ne peut pas faire ça dans un fichier de requête sans avoir l'erreur "Mot inattendu"


Ci-joint la clause WHERE de ma requête :
WHERE
(
Factures_Entetes.NUM_FACTURE IS NOT NULL
AND Factures_Entetes.DATE_FACTURE >= {DateDébutPeriode}
AND Factures_Entetes.DATE_FACTURE <= {DateFinPeriode}
AND Factures_Entetes.DateHeureValidationFAC IS NOT NULL
AND Factures_Entetes.Code_Societe = {codeSociete}
AND Factures_Entetes.DateHeureSuppression IS NULL
AND {lib_Col1} = {filter_Col1}
AND {lib_Col2} = {filter_Col2}
AND {lib_Col3} = {filter_Col3}
AND {lib_Col4} = {filter_Col4}
AND {lib_Col5} = {filter_Col5}
)

Si filter_Col 1 = "60010N" par exemple,
on obtient donc l'erreur Unknown Column "60010N" in where clause


Et si je met {filter_Col1} entre quotes -> "{filter_Col1}" ou '{filter_Col1}', la stynthaxe étant très stricte, la requête n'st plus valide



Petite piste pouvant vous mettre sur la piste : Comment expliquer cette erreur sur "filter_Col1" et pas sur {DateDébutPeriode} ou {codeSociete} par exemple qui sont bien dans la clause where et ne sont pas prises pour des noms de colonne, elles.



Merci pour votre aide,

Kevin Guitton