Recherche par mot-clé
Résolu
emarie3680
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
emarie3680 Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
emarie3680 Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je connais les bases d'Access mais suis coincé. J'ai la version 365.
J'ai créé une requête pour qu'un utilisateur puisse interroger une table à partir de mots-clés qu'il aurait saisis dans une requête.
Dans les critères de ma requête j'ai mis : Comme [Entrer le Mot ou une partie du mot Clé à rechercher ]+"*"
C'est pas mal mais la recherche est bonne uniquement si le mot saisi par l'utilisateur se trouve en premier dans les enregistrements de mon champ.
Par exemple :
Traçabilité du nettoyage des bureaux
Si l'utilisateur saisit "Traçabilité", la requête fonctionne et affiche tous les enregistrements qui contiennent le mot Traçabilité en début d'enregistrement.
Par contre si l'utilisateur saisit "bureaux" ça ne fonctionne pas car ce terme n'est pas en début d'enregistrement. J'espère avoir été clair.
Je pense que pour un utilisateur averti, ce doit être facile... Vous pourriez m'aider ?
Merci beaucoup d'avance.
Éric
Je connais les bases d'Access mais suis coincé. J'ai la version 365.
J'ai créé une requête pour qu'un utilisateur puisse interroger une table à partir de mots-clés qu'il aurait saisis dans une requête.
Dans les critères de ma requête j'ai mis : Comme [Entrer le Mot ou une partie du mot Clé à rechercher ]+"*"
C'est pas mal mais la recherche est bonne uniquement si le mot saisi par l'utilisateur se trouve en premier dans les enregistrements de mon champ.
Par exemple :
Traçabilité du nettoyage des bureaux
Si l'utilisateur saisit "Traçabilité", la requête fonctionne et affiche tous les enregistrements qui contiennent le mot Traçabilité en début d'enregistrement.
Par contre si l'utilisateur saisit "bureaux" ça ne fonctionne pas car ce terme n'est pas en début d'enregistrement. J'espère avoir été clair.
Je pense que pour un utilisateur averti, ce doit être facile... Vous pourriez m'aider ?
Merci beaucoup d'avance.
Éric
A voir également:
- Recherche par mot-clé
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Trousseau mot de passe iphone - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
13 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, moi j'essaierais ainsi:
Comme "*" + [Entrer le Mot ou une partie du mot Clé à rechercher ] + "*"
Perso, je passerais par un formulaire, contenant une zone de texte dans laquelle l'utilisateur rentre le mot clé.
Et un bouton sur ce formulaire, avec comme code sur clic:
A+
Et un bouton sur ce formulaire, avec comme code sur clic:
Dim MaRequete As String MaRequete = "MaRequete01" 'remplace MaRequete01 par le nom de ta requête paramétrée If DCount("*", MaRequete) > 0 Then 'il y a au moins 1 enregistrement DoCmd.OpenQuery MaRequete, acNormal 'tu ouvres ta requête ou autre action Else MsgBox "Aucun enregistrement ne contient ce(s) mot(s)" 'message que tu personnalises End If
A+
Bon, je te laisse modifier tout seul le critère dans la requête, la zone de texte dans ton formulaire ne s'appelle pas "indépendant" mais texte0...
A+
A+
Je n'ai pas pris l'étiquette, mais bien le nom de la zone de texte (double clic dessus ou clic droit propriétés).
Tu peux renommer l'étiquette si tu veux, ça ne changera pas le nom de la zone et vice versa.
A+
Tu peux renommer l'étiquette si tu veux, ça ne changera pas le nom de la zone et vice versa.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour votre réponse yg_be ça fonctionne bien mieux comme ça, la recherche est bien effectuée dans tous les enregistrements !!!
Savez-vous s'il existe un moyen, au cas où la recherche ne donne pas de résultats, d'afficher un texte du genre "merci de renouveler votre demande" ou "le mot-clé n'a pas été trouvé" ?
Cordialement,
Éric
Savez-vous s'il existe un moyen, au cas où la recherche ne donne pas de résultats, d'afficher un texte du genre "merci de renouveler votre demande" ou "le mot-clé n'a pas été trouvé" ?
Cordialement,
Éric
RV71 :
J'ai une erreur d'exécution 2496
L'action ou la méthode requiert un argument Nom requête
Voilà mon code :
Private Sub Bascule2_Click()
Dim MaRequete As String
MaRequete = "Requête simple" 'remplace MaRequete01 par le nom de ta requête paramétrée
If DCount("*", MaRequete) > 0 Then 'il y a au moins 1 enregistrement
DoCmd.OpenQuery strMaRequete, acNormal 'tu ouvres ta requête ou autre action
Else
MsgBox "Aucun enregistrement ne contient ce(s) mot(s)" 'message que tu personnalises
End If
End Sub
Vous voyez l'erreur ?
J'ai une erreur d'exécution 2496
L'action ou la méthode requiert un argument Nom requête
Voilà mon code :
Private Sub Bascule2_Click()
Dim MaRequete As String
MaRequete = "Requête simple" 'remplace MaRequete01 par le nom de ta requête paramétrée
If DCount("*", MaRequete) > 0 Then 'il y a au moins 1 enregistrement
DoCmd.OpenQuery strMaRequete, acNormal 'tu ouvres ta requête ou autre action
Else
MsgBox "Aucun enregistrement ne contient ce(s) mot(s)" 'message que tu personnalises
End If
End Sub
Vous voyez l'erreur ?
Tu peux donner le code sql de la requête stp ?
A+
A+
Voilà le code de la requête "Requête1"
SELECT Feuil1.Titre, Feuil1.[Cliquez le lien correspondant]
FROM Feuil1
WHERE (((Feuil1.Titre) Like "*"+[formulaires]![Recherche_mots_cles_02]![Indépendant]+"*"));
C'est dans le formulaire Recherche_mots_cles_02 que j'ai créé un bouton action sur lequel j'ai rentré la procédure événementielle :
Private Sub Bascule2_Click()
Dim MaRequete As String
MaRequete = "Requête1" 'remplace MaRequete01 par le nom de ta requête paramétrée
If DCount("*", MaRequete) > 0 Then 'il y a au moins 1 enregistrement
DoCmd.OpenQuery MaRequete, acNormal 'tu ouvres ta requête ou autre action
Else
MsgBox "Aucun enregistrement ne contient ce(s) mot(s)" 'message que tu personnalises
End If
End Sub
Indépendant est la zone de texte du formulaire Recherche_mots_cles_02
Le résultat est toujours le même : "Aucun enregistrement ne contient..." même si je ne saisis rien ou n'importe quoi dans le champ texte Indépendant
Je ne sais pas si c'est clair...
SELECT Feuil1.Titre, Feuil1.[Cliquez le lien correspondant]
FROM Feuil1
WHERE (((Feuil1.Titre) Like "*"+[formulaires]![Recherche_mots_cles_02]![Indépendant]+"*"));
C'est dans le formulaire Recherche_mots_cles_02 que j'ai créé un bouton action sur lequel j'ai rentré la procédure événementielle :
Private Sub Bascule2_Click()
Dim MaRequete As String
MaRequete = "Requête1" 'remplace MaRequete01 par le nom de ta requête paramétrée
If DCount("*", MaRequete) > 0 Then 'il y a au moins 1 enregistrement
DoCmd.OpenQuery MaRequete, acNormal 'tu ouvres ta requête ou autre action
Else
MsgBox "Aucun enregistrement ne contient ce(s) mot(s)" 'message que tu personnalises
End If
End Sub
Indépendant est la zone de texte du formulaire Recherche_mots_cles_02
Le résultat est toujours le même : "Aucun enregistrement ne contient..." même si je ne saisis rien ou n'importe quoi dans le champ texte Indépendant
Je ne sais pas si c'est clair...
et il y a bien le critère dans cette requête ?
Tu peux envoyer ta base si tu veux via https://www.cjoint.com/ par exemple.
A+
Tu peux envoyer ta base si tu veux via https://www.cjoint.com/ par exemple.
A+
C'est sympa de vouloir y jeter un coup d'oeil.
Voilà un lien vers mon cloud :
https://onedrive.live.com/redir?resid=83CBA75779CF0087!97054&authkey=!AJnYTCRcYKJH7K0&e=5Zn84p
Le but du jeu est de pouvoir, en utilisant le formulaire Recherche_mots_cles_02 qui va chercher la requête Requête1 avoir un message indiquant s'il s'y trouvent ou pas des enregistrements qui correspondent à la saisie du champ Indépendant du formulaire Recherche_mots_clés_02. Évidemment, le résultat de la requête est selon ce que j'ai saisi dans le formulaire Recherche_mots_clés_02
Voilà un lien vers mon cloud :
https://onedrive.live.com/redir?resid=83CBA75779CF0087!97054&authkey=!AJnYTCRcYKJH7K0&e=5Zn84p
Le but du jeu est de pouvoir, en utilisant le formulaire Recherche_mots_cles_02 qui va chercher la requête Requête1 avoir un message indiquant s'il s'y trouvent ou pas des enregistrements qui correspondent à la saisie du champ Indépendant du formulaire Recherche_mots_clés_02. Évidemment, le résultat de la requête est selon ce que j'ai saisi dans le formulaire Recherche_mots_clés_02
Pfff j'ai pas pris l'étiquette... tout ça pour ça ! Désolé mais un grand grand merci !
Ca prend une bonne tournure.
Boone soirée !!!
Ca prend une bonne tournure.
Boone soirée !!!
RV71
OK, c'était énorme...
J'ai une autre question pour un détail. Vous avez vu que j'ai des enregistrements sous forme de liens hypertextes qui pointent vers des fichiers Word.
Savez-vous s'il est possible, une fois le lien cliqué que non seulement le fichier cible s'ouvre mais aussi que l'on retourne vers le formulaire ou carrément quitter Access ?
OK, c'était énorme...
J'ai une autre question pour un détail. Vous avez vu que j'ai des enregistrements sous forme de liens hypertextes qui pointent vers des fichiers Word.
Savez-vous s'il est possible, une fois le lien cliqué que non seulement le fichier cible s'ouvre mais aussi que l'on retourne vers le formulaire ou carrément quitter Access ?