[VB ACCESS] utilisation du like

Tidodo Messages postés 143 Date d'inscription   Statut Membre -  
 hery -
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 !
Configuration: Windows XP
Firefox 2.0.0.3

25 réponses

  • 1
  • 2
  1. william7007 Messages postés 344 Statut Membre 46
     
    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
  2. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    Snif :'( Personne pour m'éclairer ?
    0
  3. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    c'est quoi qui ne marche pas :

    erreur de syntaxe, pas de résultat, résultat incorrect ?
    0
  4. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    erreur de syntaxe
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    A quel moment : compilation, exécution ?

    En VBA ou VB ?
    0
  7. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    Je veux juste la syntaxe SQL sous VB pour l'utilisation du like.
    0
  8. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  9. Flo
     
    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
  10. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    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
  11. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Il faut mettre un like *" & Text1.Text & "* ", mais ne pas oublier de rafraichir le code à chaque saisie de caractère...
    0
  12. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    "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
  13. Flo
     
    Rajoute un ' avant la premiere étoile et aprrès la deuxieme ce qui donne :
    like'* " & Text1.Text & " *' "
    0
  14. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Personne ne t'a dit de mettre un espace entre * et ce que tu cherches :-)

    Regarde mes exemples...
    0
  15. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    Plus d'erreur, mais aucun resultat :(

    Ben corrige moi blux puisque tu es si fort !
    0
  16. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  17. Flo
     
    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
    1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
    2. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
       
      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
      1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > Tidodo Messages postés 143 Date d'inscription   Statut Membre
         
        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
      2. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21 > Tidodo Messages postés 143 Date d'inscription   Statut Membre
         
        A ui lol dsl !
        En 11 ca ne marche pas puisque j'ai une erreur LooL !
        0
      3. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > Tidodo Messages postés 143 Date d'inscription   Statut Membre
         
        Pardon, en 15...
        0
  18. Flo
     
    En 14 il dit qu'il n'a plus d'erreur donc je vois pas ou est le probleme
    0
  19. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    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
  20. Flo
     
    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
  21. Tidodo Messages postés 143 Date d'inscription   Statut Membre 21
     
    parceque dans la table c ville_concert, en affichage j'ai mis que ville pour que ce soit mieux ...
    0
  • 1
  • 2