Requete sql et variables sous vb6

Résolu
ecranbleu27 Messages postés 190 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 avril 2009 - 18 janv. 2007 à 05:56
cs_pluplu Messages postés 615 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

11 réponses

ecranbleu27 Messages postés 190 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 avril 2009 1
18 janv. 2007 à 11:09
merci CASY!!!!!!! et merci les autres
la méthode de casy marche......

patrik
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 08:07
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.
0
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
18 janv. 2007 à 08:33
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
0
ecranbleu27 Messages postés 190 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 avril 2009 1
18 janv. 2007 à 09:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
18 janv. 2007 à 09:07
Salut
Si tu veux ajouter 06 à ton texte

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

@+

E.B.
0
ecranbleu27 Messages postés 190 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 avril 2009 1
18 janv. 2007 à 10:34
http://www.vbfrance.com/auteurdetail.aspx?ID=491288
Salut, essai çà:
"SELECT * FROM [moi] WHERE [client] like '%" & Replace(nom, "'", "''")

ben ca me gele l'écran .....
0
ecranbleu27 Messages postés 190 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 avril 2009 1
18 janv. 2007 à 10:58
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 janv. 2007 à 10:58
sql = " select * from "
& mois & "
where client like '"
& nom & "'"

---- Sevyc64  (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
18 janv. 2007 à 19:52
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
0
Rejoignez-nous