Requete sql et variables sous vb6 [Résolu]

Messages postés
190
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 avril 2009
- - Dernière réponse : cs_pluplu
Messages postés
616
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
- 18 janv. 2007 à 19:52
bjr,
sous VB6,
je récupere d'une form (frmrecher)  2 variables : "mois" et "nom"
que je déclare comme  suit :
mois= frmrecher.cbomois.text   (issu d'un combobox) 
nom = frmrecher.text2.text        (issu d'un textbox)

1/ je souhaite que "mois" soit en fait la variable recuperée + 06 (l'année)
    donc concatenation : frmrecher.cbomois.text& "06"      mais ca ne marche pas
    exemple JUIN06, (JUIN étant la variable récupérée)
    quelle est la bonne syntaxe ????

2/ un fois  fait
     je voudrais lancer ma requete sql ,(la connection etc.... étant faite)
     du style:
      sql =" select * from & mois & where client like & nom & "
      j'ai essayé :
       sql=" select * from " & mois & " where client like " & nom & " "
        sql=" select * from ' & mois & ' where client like ' & nom & ' "
         sql=" select * from ' " & mois & " ' where client like  ' " & nom & " '  "

mais rien ne marche.....
ou est mon erreur ?????

merci pour vos lumiéres et conseils,
bonne année à toutes et à tous
patrik
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
190
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 avril 2009
2
3
Merci
merci CASY!!!!!!! et merci les autres
la méthode de casy marche......

patrik

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ecranbleu27
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
3
0
Merci
frmrecher.cbomois.text & "06" (avec un espace avant le &) devrait marcher pour ce qui est de la connexion il faudrait voir comment tu t'y prend dans le code. Quel objet tu utilise pour la connexion.

@+

E.B.
Commenter la réponse de cs_EBArtSoft
Messages postés
616
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
0
Merci
Si j'ai bien compris ta requête SQL 
sql= " select * from & mois & where client like & nom & "
 
ce que tu cherche à faire est bien de sélectionné tous les enregistrements de ta table "juin06" dont le champ client est égal à nom 
alors essaye la syntaxe suivante :

sql = "select * from '" & mois & "'" where client like '" & nom & "'" 

n'oublie pas la remarque d'EBArt qui reste valable !

Pascal Laurençon
Commenter la réponse de cs_pluplu
Messages postés
190
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 avril 2009
2
0
Merci
merci
pour la concatenation, c'est bon;

pour la requette, pluplu,ca marche pas
je pense qu'il y a un " en trop avant where.
Si je l'enleve , ca me dit "erreur de syntaxe dans la requete.la clause de la requette est incomplete".
et lors du debog sur les lignes:

sql = "select * from '" & mois & "' where client like '" & nom & "'"
adoprimaryrs.open sql, cnn, adopendynamic, adlockoptimistic

sur sql : j'ai " sql ="select * from 'juin06' where CLIENT like 'dupont'"

si j'enleve les '  ca me dit:
erreur d'execution '-2147217904(80040e10)': aucune valeur donnée pour un ou plusieurs des paramétres requis.



patrik
Commenter la réponse de ecranbleu27
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
0
Merci
Salut
Si tu veux ajouter 06 à ton texte

frmrecher.cbomois.text+"06"
Commenter la réponse de bricoyeye
Messages postés
326
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
29 avril 2008
0
Merci
Salut, essai çà:
"SELECT * FROM [moi] WHERE [client] like '%" & Replace(nom, "'", "''")
Commenter la réponse de bricoyeye
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
3
0
Merci
il n'y a pas de '' apres FROM car c'est un nom de table ! le probleme vient surement de la.

@+

E.B.
Commenter la réponse de cs_EBArtSoft
Messages postés
190
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 avril 2009
2
0
Merci
http://www.vbfrance.com/auteurdetail.aspx?ID=491288
Salut, essai çà:
"SELECT * FROM [moi] WHERE [client] like '%" & Replace(nom, "'", "''")

ben ca me gele l'écran .....
Commenter la réponse de ecranbleu27
Messages postés
190
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 avril 2009
2
0
Merci
quoi que je fasse il me dit :
erreur d'execution '-2147217904(80040e10)': aucune valeur donnée pour un ou plusieurs des paramétres requis.

mon code:
set cnn= new adodb.connection
cnn.cursorlocation= aduseclient
m_connectionstring="provider=" & _
                  "microsoft.jet.oledb.4.0;data source=" & _
                  ""& app.path & "\mabase.mdb;jet oledb:" & _
                  "database password=;"
cnn.open m_connectionstring
sql = "select * from " & mois & " where client like " & nom & ""
adoprimaryrs.open sql, cnn, adopendynamic, adlockoptimistic

merci
patrik
Commenter la réponse de ecranbleu27
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
43
0
Merci
sql = " select * from "
& mois & "
where client like '"
& nom & "'"

---- Sevyc64  (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
616
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
0
Merci
Sacré syntaxe SQL !!! je l'avoue il m'arrive encore souvent de tater le terrain par approximation avant de trouver la formule magique...

Pascal Laurençon
Commenter la réponse de cs_pluplu

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.