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

cs_jolicoeur79 62 Messages postés samedi 2 octobre 2004Date d'inscription 13 février 2018 Dernière intervention - 12 févr. 2018 à 00:36 - Dernière réponse : cs_jolicoeur79 62 Messages postés samedi 2 octobre 2004Date d'inscription 13 février 2018 Dernière intervention
- 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


--
Afficher la suite 

4 réponses

Répondre au sujet
jordane45 19975 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 16 février 2018 Dernière intervention - 12 févr. 2018 à 09:19
0
Utile
Bonjour,

C'est moi ou tu as des virgules en trop ?
Commenter la réponse de jordane45
0
Utile
2
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 19975 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 16 février 2018 Dernière intervention - 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....
cs_jolicoeur79 62 Messages postés samedi 2 octobre 2004Date d'inscription 13 février 2018 Dernière intervention - 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 @+
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.