Requete sql en vb

fab101 Messages postés 140 Statut Membre -  
blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour a tous et a toute

j'ai un petit probleme en vb vu que je debute dans ce langage

je vous explique le problème

j'ai recuperer dans une variable un mot d'un fichier texte
disons que cette variable s'appelle deuxiememot

je voudrai in clure dans mon code la requete sql

select * from serveur where nom_serveur like '*deuxiememot'
et me renvoi l'affichage de la requete

merci pour vos reponses

26 réponses

  • 1
  • 2
  1. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    en fait, ce qui manque, c'est de savoir QUAND il faut exécuter ta requête. Car là, tu n'as fait que remplir une variable avec un texte de requête.

    VB et VBA sont des langages évenementiels : ils exécutent du code lors de la survenue d'un évènement (d'où leur nom)

    Doit-on la lancer quand on appuie sur un bouton, quand on choisit quelque chose dans une liste... ?

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    8
  2. poof65
     
    str = "select * from serveur where nom_serveur like '*" & deuxiememot & "'" 


    --------------------------------------------------------
    L'informatique est un long fleuve pas tranquille !!!
    1
    1. abdess
       
      str = "select * from serveur where nom_serveur like ('"&* deuxiememot & "')"
      au lieu de celle la je pense bon courage j'espre que s'amarche
      str = "select * from serveur where nom_serveur like '*" & deuxiememot & "'"
      0
  3. fab101 Messages postés 140 Statut Membre 2
     
    bon desole je comprend rien donc si tu pouvais ecrir quel code je dois mettre pour que ca fonctionne

    merci!!
    1
  4. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Pour éviter la complication, voici ce que je te propose :

    Tu crées un formulaire avec un bouton et une zone de liste
    Sur le bouton, tu rattaches le code qui permet de remplir le contenu de la liste :
    dim str as string
    str = "select * from serveur where nom_serveur like '*" & deuxiememot & "';"
    [lenomdelazonedeliste].rowsource = str

    Et c'est tout...

    Si tout va bien, tu dois voir s'afficher dans la zone, l'ensemble des données renvoyées par ta requête. Mais n'oublie pas de renseigner dans les propriétés de ta zone le nombre de colonnes (nombre de champs renvoyés par la requête) ainsi que la largeur des colonnes...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fab101 Messages postés 140 Statut Membre 2
     
    merci de ta reponse

    mais lorsque j'execute ce code
    rien ne se passe

    sub test ()
    dim str as string
    str = "select * from serveur where nom_serveur like '*" & deuxiememot & "'"
    end sub

    merci!
    0
  7. poof65
     
    Il faut appeler ta procedure sub aussi. Et declarer deuxiememot.

    --------------------------------------------------------
    L'informatique est un long fleuve pas tranquille !!!
    0
  8. fab101 Messages postés 140 Statut Membre 2
     
    salut

    sub test ()
    dim str as string
    str = "select * from serveur where nom_serveur like '*" & deuxiememot & "'"
    end sub

    j'ai appele sub ma procedure et deuxieme mot est un variable qui vient d'une autre procedure
    est ce qui il ya autre chose a mettre genre recordset?
    merci
    0
    1. Paulo
       
      str = "select * from serveur where nom_serveur like '" & deuxiememot & "%' "
      0
    2. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      problème résolu depuis plus de 7 ans, merci de ne pas relancer le débat...
      0
  9. poof65
     
    Ben nan là c'est test le nom de la sub.

    --------------------------------------------------------
    L'informatique est un long fleuve pas tranquille !!!
    0
  10. fab101 Messages postés 140 Statut Membre 2
     
    ca ne mache pas quand je met sub sub ()
    et pour deuxieme mot qui est une variable d'une autre procedure
    0
  11. poof65
     
    Pour appeler une procedure c'est
    nom_de_la_sub();
    ou
    call nom_de_la_sub();

    --------------------------------------------------------
    L'informatique est un long fleuve pas tranquille !!!
    0
  12. poof65
     
    Tu as jamais appris le langage Basic ?

    --------------------------------------------------------
    L'informatique est un long fleuve pas tranquille !!!
    0
  13. fab101 Messages postés 140 Statut Membre 2
     
    poof je suis debutant en vb c'est pour ca que je demande

    merci blux pour ta reponse
    en fait ce que je voudrais c'est que la requete s'affiche a l'execution du code

    le resultat de cette requete contient deux ligne et je dois realiser du code pour modifier ces lignes

    donc pas besoin d'un clique sur un bouton (mais je suiis toujours preneur pour savoir comment on fait pour l'afficher en appyant sur un bouton)

    merci!!
    0
  14. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    c'est que la requete s'affiche a l'execution du code

    Quand le code doit-il être exécuté ?
    Où doit-on afficher le résultat ?
    Comment doit-on le modifier ?

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  15. fab101 Messages postés 140 Statut Membre 2
     
    lorsque je compile le code
    et je voudrai que la requete s'affiche dans une fenetre de table access et apres
    il faudrait qu'un compteur compte les champs de la ligne de resultat
    et si elle contient des données les copier dans la ligne d'en dessous

    merci
    0
  16. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Je crois que tu confonds certains termes.

    'Compiler' n'a pas de valeur dans ACCESS.

    Comme je l'ai indiqué, VBA est un langage évènementiel, donc lorsque tu écris du code, il faut indiquer QUAND on doit l'exécuter : ouverture de la base, ouverture d'un formulaire, passage au champ suivant, appui sur un bouton...

    Puisque 'deuxièmemot' est une variable, il faut donc exécuter le code après que sa valeur ait été choisie. Deux solutions : dès qu'une valeur est remplie, on exécute, ou alors, dès que l'utilisateur le souhaite (en appuyant sur un bouton), on l'exécute.

    Il faut donc ouvrir un formulaire dont la source de données sera la requête.

    Pour la suite, je n'ai pas tout compris :-(

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  17. fab101 Messages postés 140 Statut Membre 2
     
    ce qui serait bien c'est a l'ouverture de la base
    afficher le resultat de la requete
    0
  18. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Euh oui, mais quand est-ce qu'on remplit 'deuxièmemot' ?

    S'il n'a pas de valeur à l'ouverture de la base, ça va aller beaucoup moins bien...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  19. fab101 Messages postés 140 Statut Membre 2
     
    deuxieme mot est une variable declare au debut du programe
    0
  20. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Quel programme ?
    Un module général ?
    Car attention, les données ne sont pas visibles par toutes les procédures (déclaration en Public ou Private)...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  21. fab101 Messages postés 140 Statut Membre 2
     
    non non dans la meme procedure
    je recupere le mot et j'affiche une requete sql
    0
  • 1
  • 2