[VB ACCESS] utilisation du like

Fermé
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 - 31 mai 2007 à 15:19
 hery - 6 mars 2016 à 12:47
Bonjour !

voilà un petit soucis de syntaxe. Pouvez me dire comment j'utilise la fonction like SQL dans VB.

Ca doit etre un truc du genre :

ADODC1.RecordSource=("Select * From concert Where Date_concert like ' " & TextRechercheDate.Texte & " ' ? ")

Mais cette syntaxe ne marche pas !

Please help me ! C'est assez urgent !

25 réponses

william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
14 janv. 2009 à 20:55
car si votre date est de type texte voici un bout de code qui fonctionne chez moi sans problème. en VBA
ma table est

trucEtTrac (id entier,nom Text, prenom Text, dateVie Text)


Private Sub Command1_Click()
    Dim rst As New ADODB.Recordset
    
    rst.Open "SELECT * FROM trucEtTrac WHERE dateVie like '%" & Text1.Text & "%'", con, adOpenDynamic
    MsgBox rst(2)
End Sub

3
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
3 juin 2007 à 22:50
Snif :'( Personne pour m'éclairer ?
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
4 juin 2007 à 14:11
Salut,

c'est quoi qui ne marche pas :

erreur de syntaxe, pas de résultat, résultat incorrect ?
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
4 juin 2007 à 18:24
erreur de syntaxe
0

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

Posez votre question
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
4 juin 2007 à 22:02
A quel moment : compilation, exécution ?

En VBA ou VB ?
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
6 juin 2007 à 15:51
Je veux juste la syntaxe SQL sous VB pour l'utilisation du like.
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
6 juin 2007 à 15:55
La syntaxe est la même que tu sois en vb ou vba, c'est du sql avec des caractères joker (? = n'importe quel caractère unitaire, * = chaine de n caractères quelconques), ex :

SELECT TOTO FROM TATA WHERE TITI LIKE "toto*";
SELECT TOTO FROM TATA WHERE TITI LIKE "*toto*";
SELECT TOTO FROM TATA WHERE TITI LIKE "*toto";
SELECT TOTO FROM TATA WHERE TITI LIKE "?toto";
0
Essaie ca, ca devrait marcher : "Select * From concert Where Date_concert like * " & TextRechercheDate.Texte & " ? ")

Après si tu expliquais ce que tu veux faire on pourrait peut etre plus t'aider. j'imagine que TextRecherchedate c'est une textbox.
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
6 juin 2007 à 16:03
au fur et à mesure que je tape, je dois avoir des résultats


Private Sub Text1_Change()
Adodc1.RecordSource = "Select * From concert Where Date_concert like * " & Text1.Text & " ? "
Adodc1.Refresh


End Sub


sqlbindparameter not used for all parameter


Tchuss
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
6 juin 2007 à 16:07
Il faut mettre un like *" & Text1.Text & "* ", mais ne pas oublier de rafraichir le code à chaque saisie de caractère...
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
6 juin 2007 à 16:16
"You have an error in your SQL syntaxe near '* m *' at line 1"

Private Sub Text1_Change()
Adodc1.RecordSource = "Select * From concert Where Date_concert like * " & Text1.Text & " * "
Adodc1.Refresh


End Sub
0
Rajoute un ' avant la premiere étoile et aprrès la deuxieme ce qui donne :
like'* " & Text1.Text & " *' "
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
6 juin 2007 à 16:19
Personne ne t'a dit de mettre un espace entre * et ce que tu cherches :-)

Regarde mes exemples...
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
6 juin 2007 à 16:20
Plus d'erreur, mais aucun resultat :(

Ben corrige moi blux puisque tu es si fort !
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
6 juin 2007 à 16:28
Tu avais mis des simple-quote pour séparer la chaine de caractères, ils ont disparu...
... like '*" & Text1.Text & "*';" 
--
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
L'erreure a été corrigée lorsque tu as rajouté les apostrophes ? vu qu'il n'y a plus d'erreur on peut pas trop d'aider, soit il n'y avait rien dans ta table qui correspondait à ta recherche soit il y a un probleme autre part.
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
6 juin 2007 à 16:31
Il y a deux problèmes :

- l'absence de quote/apostrophe pour délimiter la chaine de car. dans la définition de la requête
- les blancs entre * et le texte recherché
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
6 juin 2007 à 16:41
ma table est pleine je suis pas débutant ... puisque j'ai dit que sous delphi je sais le faire ... c'est juste cette foutu syntaxe la c**
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287 > Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008
6 juin 2007 à 17:42
puisque j'ai dit que sous delphi je sais le faire
Désolé, mais je ne l'ai lu nulle part...

La syntaxe sql/vb est celle donnée en 11.
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21 > Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008
6 juin 2007 à 20:11
A ui lol dsl !
En 11 ca ne marche pas puisque j'ai une erreur LooL !
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287 > Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008
7 juin 2007 à 09:14
Pardon, en 15...
0
En 14 il dit qu'il n'a plus d'erreur donc je vois pas ou est le probleme
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
7 juin 2007 à 09:30
Voilà les screen : http://www.univers-com.fr/CCM/Screen1.JPG

http://www.univers-com.fr/CCM/Screen2.JPG

Voilà le code :


Adodc1.RecordSource = "Select * From concert Where Ville_concert like '*" & Text1.Text & "*';"
Adodc1.Refresh
0
Ok. donc en fait il n'y a plus d'erreur mais ca ne fonctionne pas..
Pourquoi mets tu ville_concert et pas ville dans ta requete SQL ?
0
Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
7 juin 2007 à 09:50
parceque dans la table c ville_concert, en affichage j'ai mis que ville pour que ce soit mieux ...
0