IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Créer moteur de recherche (pas si simple) [Débutant(e)] [AC-2007]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut Créer moteur de recherche (pas si simple)
    Bonjour à tous,

    je viens vers vous car je rencontre des difficultés que je ne comprends pas sur Access (que je découvre).

    Voilà le topo :
    j'ai une BDD assez basique : 1 table avec quelques champs (dont un appelé mots_cles).
    Je cherche à créer un formulaire de recherche dans lequel je tape un (ou plusieurs) mot(s) et je souhaite que cela affiche l'ensemble éléments de ma bdd qui contiennent ce(s) mot(s) dans le champ mots_cles.

    Rien de bien compliqué en soit. Je sais le faire avec MySQL mais sous Access, je suis perdu...

    J'ai tenté de suivre tuto mais rien n'y fait et je ne comprends pas d'où vient le problème (le fait que le tuto ne soit pas fait avec Access 2007 ne m'aide pas à m'y retrouver).

    J'ai également tenté un code afin d'afficher un résultat avec un mot intégré à ma requête SQL mais rien n'y fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Private Sub cmd_recherche_Click()
     
    Dim strTable As String, strCriteria As String, strSql As String, strField As String
    Dim Criter As Variant
     
    'strCriteria = strTable & "." & strField & " Like """ & Me.txt_critere & """"
     
    'strSql = "SELECT DISTINSROW" & strTable & ".*"
    'strSql = strSql & " FROM " & strTable
    'strSql = strSql & " WHERE ((" & strCtriteria & "));"
     
    strSql = "SELECT * FROM biblio WHERE mots_cles LIKE 'entretien';"
     
    Me.lst_resultat.RowSource = strSql
    Me.lst_resultat.Requery
     
    End Sub
    En plus j'ia l'impression que la syntaxe pour les requêtes SQL n'est pas la même sous Access et sous MySQL, ce qui me perd encore un peu plus.

    Bref, toutes les aides sont les bienvenues parce que là je sèche...

  2. #2
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 360
    Points
    360
    Par défaut
    Bonjour,

    Et avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSql = "SELECT * FROM biblio WHERE mots_cles LIKE ""*entretien*"";"
    L'étoile sert de joker pour un groupe de mot

    Le double guillemet "" inclus dans une chaîne sera remplacé par un seul guillemet.

    Cordialement
    Pierre.

    Dans un monde passablement absurde, il y a quelque chose qui ne l'est pas, c'est ce qu'on peut faire pour les autres.

    André Malraux


    Ce message vous a aidé ? alors

    Votre souci est résolu ? alors

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    Pas mieux... Il n'y a toujours rien qui s'affiche (avec ou sans joker, avec ou sans doubles guillemets).

    Par contre, je remarque que après les lignes que j'ai mis en commentaire dans mon code, ce dernier ne se colore pas (sauf la ligne End Sub). Je ne sais pas si cela à un lien...

    Si je comprends bien ce que je fais (ce qui n'est pas sûr ), le code suivant est suffisant pour afficher l'ensemble de ma table biblio dans une zone de liste appelée lst_resultat lorsque je clique sur un bouton appelé cmd_recherche. Si c'est bien le cas, ça ne fonctionne pas chez moi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub cmd_recherche_Click()
     
    Dim strSql As String
     
    strSql = "SELECT * FROM biblio;"
     
    Me.lst_resultat.RowSource = strSql  ' affecte sql a lst_Resultat
    Me.lst_resultat.Requery             ' recalcule la liste
     
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Bonjour,

    Vérifie le nombre de colonnes dans ta zone de liste et leur largeur associée.

    Cordialement.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    Je suppose que le nombre de colonnes dans ma zone de liste doit être le même que celui de ma table (ce que j'ai déjà fait). Mais la largeur, à quoi doit-elle correspondre ? Même en mettant une valeur importante (20 cm) je n'ai pas de résultat.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    A la largeur de collone que tu souhaites avoir sachant que si tu mets 0cm ta colonne sera invisible (c'est à peu près logique d'ailleurs ).
    Donc par exemple si tu as 5 colonne tu peu mettre dans la case largeur colonne : 1cm;1,5cm;2cm;3cm;4cm

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    C'est bien ce qu'il me semblait avoir compris. Mais toujours rien

    Histoire de m'ôter un doute sur le nom de ma table : dans le volet de navigation, à côté du symbole des tables, il y a écrit biblio : Table. Cela veut bien dire que ma table s'appelle biblio (et non pas que Table est une table de la BDD biblio) ?

  8. #8
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 360
    Points
    360
    Par défaut
    Pour vérifier, dans votre liste lst_resultat, dans les propriétés, dans l'onglet Données, en mode création, vous avez un assistant pour créer des requêtes. Les tables dispo et le nom des champs seront présents.
    Pierre.

    Dans un monde passablement absurde, il y a quelque chose qui ne l'est pas, c'est ce qu'on peut faire pour les autres.

    André Malraux


    Ce message vous a aidé ? alors

    Votre souci est résolu ? alors

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    Bon, je ne suis pas un boulet complet, j'ai bien renseigné le nom de ma table (qui est bien biblio).

    A défaut de faire avancer le schmilblick, ça me rassure, un peu, sur mes compétences intellectuelles

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    La couleur du texte dans ta zone de liste est bien à 0 ?

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    De ce côté là ça semble ok : couleur de texte #00000 (donc noir) et couleur de fond #FFFFF (donc blanc).

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Peut être en modifiant la syntaxe en "Select biblio.* FROM biblio;" mais sans conviction.

  13. #13
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 360
    Points
    360
    Par défaut
    Un conseil :

    Déposez sur votre formulaire une contrôle liste déroulante.

    L'assistant devrait vous aider à concevoir la requête et les paramètres

    Examinez les paramètres et la requête ainsi produite.
    Pierre.

    Dans un monde passablement absurde, il y a quelque chose qui ne l'est pas, c'est ce qu'on peut faire pour les autres.

    André Malraux


    Ce message vous a aidé ? alors

    Votre souci est résolu ? alors

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    @ Mr.Prof : pas convaincu non plus mais tenté quand même et : rien...

    @Pepito78 : c'est fait. La syntaxe de ma requête semble bonne. Dans quand dans contenu des paramêtres de ma zone lst_resultat je tape une requête, elle s'affiche bien. C'est donc bien le résultat généré par le bouton (dont la requête associée semble bien écrite) qui ne s'affiche pas.

    Il doit il y avoir quelque chose que je n'ai pas compris pour effectuer la transmission de données entre le bouton et la zone d'affichage. Mais quoi ? J'ai pourtant bien suivi le tuto ou il y a un problème au niveau des lignes 8 et 9 de mon code ?

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Ta requête SQL te ramène des enregistrements lorsque tu la rentre dans une requête de sélection?

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    Alors, pour être clair pour une Zone de liste déroulante, si, en mode création, je tape une requête dans Données / Contenu, le résultat va s'afficher dans la dite zone en mode formulaire.

    Par contre, cela n'est pas généré par le bouton.

  17. #17
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Je n'ai plus vraiment d'idée si ce n'est qu'il est possible que tu n'exécute pas ta procédure évènementielle. As-tu mis un point d'arrêt pour vérifier que tu l'exécute?

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    Etant donné que je ne sais pas ce qu'est un point d'arrêt, il est fort possible que non...

    C'est quoi et je le mettre où ?

  19. #19
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Juste à gauche de la zone ou tu tape ton texte, tu as une marge. Tu peux y placer un point d'arrêt qui te permet, comme son nom l'indique, d'arrêter l'exécution du code sur ce point. c'est une notion très importante car elle te permet de vérifier le bon déroulement de tes codes et d'avoir un aperçu de la valeur de tes variables à un instant précis. Je te joint un screen pour te montre ce qu'est un point d'arrêt.
    Images attachées Images attachées  

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Points : 5
    Points
    5
    Par défaut
    C'est fait et toujours pas de résultat.

    Vu que visiblement tu es à cours d'idée et que moi j'en à pas vraiment sur le sujet, est-il envisageable que tu me fasses une sorte de mini-tuto qui me montre comment faire pour créer un formulaire avec un bouton qui a pour effet d'afficher l'ensemble de ma table lorsque l'on clique dessus (ce qu'est censé faire le second code que j'ai donné) ?

    Déjà, si j'arrive à passer cette étape, je devrais pouvoir affiner le résultat en fonction d'un critère de recherche saisi dans une zone de texte (enfin j'espère ).

    Cela me permettrait, en plus d'avancer, de voir si je fais tout bien ou pas.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Créer moteur de recherche
    Par Drahcir dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/12/2010, 01h10
  2. créer moteur de recherche pour terminaux mobile avec j2me
    Par alaa.cadabra dans le forum Java ME
    Réponses: 0
    Dernier message: 15/03/2010, 15h41
  3. Créer moteur de recherche interne
    Par Julianinho dans le forum Langage
    Réponses: 8
    Dernier message: 12/04/2009, 12h01
  4. [MySQL] Créer moteur de recherche dans la BDD
    Par Little_flower dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/12/2007, 12h40
  5. [MySQL] Créer un moteur de recherche simple ?
    Par eXe|xTn dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/04/2006, 00h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo