Petit problème de requètes en VBA

cs_snowsurfer69 Messages postés 35 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 23 juin 2004 - 11 juin 2004 à 16:24
cs_snowsurfer69 Messages postés 35 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 23 juin 2004 - 14 juin 2004 à 08:46
slt a tous!!!

voila mon code et je ne trouve pas l'erreur :


Private Sub Commande2_Click()
On Error GoTo Err_Commande2_Click

DoCmd.RunSQL ("SELECT * FROM personne WHERE NOM Like & txtbox1 & ") //C cette partie la + 1portante

Exit_Commande2_Click:
    Exit Sub

Err_Commande2_Click:
    MsgBox Err.Description
    Resume Exit_Commande2_Click
    
End Sub



voila ça me parait assez simple pourtant mais sa ne marche pas alors si vs avez 1 idée n'hésitez pas!!!

tks!!!
:big)

4 réponses

griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008
11 juin 2004 à 16:31
Essaye de en fermant les guillemet avant ta variable txtboxl et enlève le & après ta varaible.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 juin 2004 à 16:48
Salut snowsurfer69
La syntaxe n'est pas bonne : Il faut respecter les règles de VB et du SQL :
-- En VB, quand tu veux insérer le contenu d'une variable/controle dans une String, il faut sortir de la String avec un ", mettre un & puis le nom de ta variable, un nouveau & puis rerentrer dans la string avec "
MaChaine = "Le début " & MonTextBox.Text & " la suite" 


-- En SQL, quand tu veux faire des comparaisons de chaîne, il faut ajouter des ' devant et derrière la chaine :
... Where Nom = 'toto' 


-- En SQL, quand tu veux utiliser le Like, il faut lui préciser les bornes avant et après :
... Like '*toto*' tout champ composé avec toto
... Like 'toto*' tout champ commençant par toto
... Like '*toto' tout champ finissant par toto 


Ce qui donne :
DoCmd.RunSQL ("SELECT * FROM personne WHERE NOM Like '*" & txtbox1.Text & "*') 


Nota : Si ça ne fonctionne toujours pas, remplace * par %. La norme SQL voudrait que ce soit %, mais Access utilise *

Vala
Jack
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 juin 2004 à 16:51
corrige :
... txtbox1.Text & "*'")

j'ai oublié le " final
Eventuellement aussi, ajoute un ; à la fin de la requète (pour les puristes)

Vala
Jack
0
cs_snowsurfer69 Messages postés 35 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 23 juin 2004
14 juin 2004 à 08:46
salut jack!!

dabord merci pour ton aide!!

mais en fait moi je travaille en VBA (le VB sous access) et pour ètre franc une requète SELECT... n'est pas mon veritable objectif (je voulait essayer de comprendre le passage de paramètres par variables dans les requètes)

voila : en fait mon veritable objectif est de créer un formulaire (sous access 2002) avec un bouton auquel on assigne du code en VBA; du code executant une requète de création de table avec en paramètres le nom de la table et le nom du premier champ de la table.

c'est une sorte d'assistant de création de table pour l'utilisateur de ma base de données access (utilisateur qui n'est pas sencé savoir se servire d'access)

voilavoila!!!

j'éspère que tu poura m'aider parceque la je suis bloqué depuis 1 bon moment :dissapprove) !!!

merci encore
++
0
Rejoignez-nous