Requete sql et variables sous vb6 [Résolu]

ecranbleu27 190 Messages postés vendredi 4 juin 2004Date d'inscription 29 avril 2009 Dernière intervention - 18 janv. 2007 à 05:56 - Dernière réponse : cs_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention
- 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
ecranbleu27 190 Messages postés vendredi 4 juin 2004Date d'inscription 29 avril 2009 Dernière intervention - 18 janv. 2007 à 11:09
3
Merci
merci CASY!!!!!!! et merci les autres
la méthode de casy marche......

patrik

Merci ecranbleu27 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de ecranbleu27
cs_EBArtSoft 4530 Messages postés dimanche 29 septembre 2002Date d'inscription 23 décembre 2014 Dernière intervention - 18 janv. 2007 à 08:07
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
cs_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention - 18 janv. 2007 à 08:33
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
ecranbleu27 190 Messages postés vendredi 4 juin 2004Date d'inscription 29 avril 2009 Dernière intervention - 18 janv. 2007 à 09:04
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
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 18 janv. 2007 à 09:07
0
Merci
Salut
Si tu veux ajouter 06 à ton texte

frmrecher.cbomois.text+"06"
Commenter la réponse de bricoyeye
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 18 janv. 2007 à 09:32
0
Merci
Salut, essai çà:
"SELECT * FROM [moi] WHERE [client] like '%" & Replace(nom, "'", "''")
Commenter la réponse de bricoyeye
cs_EBArtSoft 4530 Messages postés dimanche 29 septembre 2002Date d'inscription 23 décembre 2014 Dernière intervention - 18 janv. 2007 à 10:11
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
ecranbleu27 190 Messages postés vendredi 4 juin 2004Date d'inscription 29 avril 2009 Dernière intervention - 18 janv. 2007 à 10:34
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
ecranbleu27 190 Messages postés vendredi 4 juin 2004Date d'inscription 29 avril 2009 Dernière intervention - 18 janv. 2007 à 10:58
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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 18 janv. 2007 à 10:58
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
cs_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention - 18 janv. 2007 à 19:52
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.