Proleme syntaxe case when ...then... en vb 6

Résolu
cs_jolicoeur79 Messages postés 62 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 1 avril 2018 - Modifié le 12 févr. 2018 à 09:18
cs_jolicoeur79 Messages postés 62 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 1 avril 2018 - 13 févr. 2018 à 00:18
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


--

2 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
12 févr. 2018 à 09:19
Bonjour,

C'est moi ou tu as des virgules en trop ?
0
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
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
12 févr. 2018 à 16:35
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....
0
cs_jolicoeur79 Messages postés 62 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 1 avril 2018 1
13 févr. 2018 à 00:18
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 @+
0
Rejoignez-nous