Recherche de mot entier

Ces articles pourraient également vous intéresser...

9 réponses

  1. Hervé Inisan dit :

    Cinesra > Est-ce que tu peux poster ici un exemple de chaque requête (pour voir s’il y a quelque chose de particulier) ?

    Les 2 mots sont-ils placés de la même manière dans le champ ?

  2. Cinesra dit :

    Bonjour Hervé,

    J’ai réussi à régler tous mes problèmes mis à part un tout petit détail:

    Sais-tu pourquoi quand je recherche le mot “impureté” par exemple, la recherche fonctionne mais quand je recherche “émeraude”, la recherche ne trouve rien (alors que l’enregistrement contenant le mot “émeraude” existe bel-et-bien?

    Merci beaucoup d’avance

  3. Cinesra dit :

    Bonjour Hervé,

    J’ai trouvé la solution d’une de mes 2 questions (la seconde, celle d’hier) il suffit d’écrire:

    Me.RecordSource = “SELECT * FROM MaTable WHERE (RechercheMot(Nz([MonChamp],”), ‘MotAChercher’) = True);”

    • gki dit :

      Bonjour Cinesra, tout cela est excellent. Toutefois après essai avec Access 2010 la formulation : Me.RecordSource = “SELECT * FROM MaTable WHERE (RechercheMot(Nz([MonChamp],”), ‘MotAChercher’) = True);” entraine une erreur de syntaxe ; je ne suis pas encore assez expert en guillemets et virgules alors la “bonne” syntaxe serait bienvenue ! Si je n’en demande pas trop.
      Avec mes remerciements anticipés.
      gki

    • gki dit :

      Bonjour, J’ai trouvé une syntaxe correcte avec une variable de travail :
      Dim copiecritère As String
      copiecritère = Forms![recherche sur descriptif seul].Critère
      Me.RecordSource = “SELECT * FROM [inventaire1] WHERE (RechercheMot(Descriptif, ‘” & copiecritère & “‘) = True);”
      Merci d’annuler ma demande précédente et merci pour toutes ces suggestions.
      Salutations
      gki

  4. Cinesra dit :

    Rebonjour Hervé,

    Encore une petite question concernant ton code (j’attends cependant toujours ta réponse pour pouvoir rechercher dans tous les champs d’une table à la fois).

    Je viens de remarquer un détail plutôt gênant concernant ta fonction RechercheMot: lorsque qu’on recherche un mot dans le champ d’une table et que ce champ est vide pour certain enregistrements, la fonction RechercheMot retourne une erreur!! Évidemment une solution serait de mettre une valeur par défaut dans les champs à rechercher mais je trouve que ça fait un peu “mauvaise programmation”, que c’est un peu lourd (d’autant que mettre des valeurs par défaut à la place d’un vide risque de faire gonfler le poids de ma base de données, non?).

    Merci beaucoup d’avance pour une solution!!

  5. Hervé Inisan dit :

    Cinesra > On doit pouvoir faire de plusieurs manières. Par exemple, juxtaposer les RechercheMot() avec les mots-clefs Et / Ou :

    Sinon, on peut aussi retoucher le code même de la fonction pour qu’elle change l’expression régulière. En construisant une chaîne du style bElub|bchevalb le résultat vaudra True si on trouve Elu ou cheval.

  6. Cinesra dit :

    Bonjour Hervé,

    Comment modifier ton code pour permettre de chercher plusieurs mots à la fois, avec soit un “ET” entre chaque mot, soit un “OU”???

    Merci d’avance

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">