Quel est l'equivalent du sql "Case ... When ...." ou "IIF ..." d'access en Windev?
Ou un autre méthode pour realiser ces conditions avec windev?
Quel est l'equivalent du sql "Case ... When ...." ou "IIF ..." d'access en Windev?
Ou un autre méthode pour realiser ces conditions avec windev?
CASE >> SELON
IIF > (Cond) ? valeursivrai SINON valeursifaux
L'appuie de la touche F1 et un peu de recherche aide beaucoup, souvent !![]()
Merci beaucoup kwasin et désolé j'étais pas très explicite la dessus.
Dans le W-language c'est bien "SELON" l'equivalent de "CASE" mais mon
problème est dans le language SQL de windev où "CASE" ou "IIF" dans une condition d'une requête que je ne sais plus quoi faire.
ex:
C'est un exemple mais ma requete est plus complexe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Article.code as code, Article.nom as nom, CASE Article.disponible WHEN 0 THEN 'Liquidé' ELSE 'Disponible' as D1 From Article
Merci beaucoup de m'aider
Pour ma part, quand j'ai ce genre de requête, je la passe en hRequeteSansCorrection avec HExecuteRequeteSql(). Ca marche impeccable.
Désolé d'être à coté de la plaque
Je n'utilise pas le SQL Windev, donc je ne peux pas t'aider![]()
Bonjour,
la solution dépend peut-être de la version de Windev (toujours indiquer dans le sujet). Depuis WD11 et plus particulièrement WD12 certaines fonctions d'autres dialects SQL sont supportées. L'aide devrait lister cela sous SQL.
Avant WD11, ça n'existe pas à ma connaissance. Dans ce cas, je vois deux possibilités pour contourner:
1) une requête UNION
2) une rubrique "calculé" comme p.ex. Répète(" ", 10) AS D1, et après l'exécution de la requete une boucle
La 2e solution a l'air ridicule mais heureusement elle est efficace et à ma connaissance souvent la seule manière d'obtenir des formats particuliers dans le résultat d'une requete Windev / HF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 POUR TOUS maRequete Si maRequete.Disponible = 0 ALORS maRequete.D1 = "Liquidé" SINON maRequete.D1 = "Disponible" FIN hModifie(maRequete) FIN
Salutations
Mat
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager