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

Messages postés
63
Date d'inscription
samedi 2 octobre 2004
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


--
Afficher la suite 

Votre réponse

2 réponses

Messages postés
23619
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2018
0
Merci
Bonjour,

C'est moi ou tu as des virgules en trop ?
Commenter la réponse de jordane45
0
Merci
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
jordane45
Messages postés
23619
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2018
-
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....
cs_jolicoeur79
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Dernière intervention
1 avril 2018
-
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 @+
Commenter la réponse de cs_jolicoeur79

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.