Proleme syntaxe case when ...then... en vb 6 [Résolu]

Signaler
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
-
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
-
Bonjour, et salut a tous
j'ai un petit probleme avec ma requete sql qui je veux l’exécuter a partir d'un commande vb 6 la voici:
sub cmdvalider_click()
requete = " select idemprunt .....,"
.........
requete = requete & " case,"
requete = requete & " when `t_emprunt`.`emp_jour`= 0 and `t_emprunt`.`emp_mois`<> 0 and `t_emprunt`.`emp_annee`<> 0 then ,"
requete = requete & " concat( concat(`t_affaire`.`aff_mois`, 'mois' ) , 'et ' , concat(`t_affaire`.`aff_annee`, 'an')),"
requete = requete & " when ..........
...........
requete = requete & "  end as dureemrunt ,"
..................
Set rs = cn.Execute(requete)
............ect
end sub



EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


lors d'excution elle m affiche une message d'erreur in sql syntax sachant que ma requête s’exécute sans problème dans le compilateur de ma base mysql
et merci de votre aide


--
A voir également:

2 réponses

Messages postés
32385
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 mai 2021
347
Bonjour,

C'est moi ou tu as des virgules en trop ?
salut jordane
j'ai pas compris votre question
mais les virgules sont trop parce que ma requete a 42 ligne
et l'erreur se produit a cette ligne exact :
requete = requete & " case,"
requete = requete & " when `t_emprunt`.`emp_jour`= 0 and `t_emprunt`.`emp_mois`<> 0 and `t_emprunt`.`emp_annee`<> 0 then ,"
requete = requete & " concat( concat(`t_affaire`.`aff_mois`, 'mois' ) , 'et ' , concat(`t_affaire`.`aff_annee`, 'an')),"
requete = requete & " when ..........

et merci

EDIT : Ajout ddes balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45
Messages postés
32385
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 mai 2021
347
Déjà :


Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Ensuite....

Je doute que dans une requête SQL tu aies une virgule juste après le terme CASE ... ou après un THEN

Affiche donc le contenu de ta variable requete et regarde ce qu'elle contient... puis copie son contenu dans ta bdd pour la tester....
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
1
merci jordane tu as raison j'ai remplace les caracteres requete = requete & " par & " ... " _
est ca marchera bien:

 & " case "_
& " when `t_emprunt`.`emp_jour`= 0 and `t_emprunt`.`emp_mois`<> 0 and `t_emprunt`.`emp_annee`<> 0 then " _
& " ..................... " _
..... ect

merci et @+