Problème sur formulaire de recherche

Résolu/Fermé
blackmefias_3350 Messages postés 709 Date d'inscription dimanche 20 septembre 2020 Statut Membre Dernière intervention 26 novembre 2024 - 1 avril 2023 à 21:23
yg_be Messages postés 23396 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 3 avril 2023 à 19:03

Bonjour,

Je vous expose mon problème, j'ai créer une base de données, avec plusieurs Tables .  Dans mes tables , il y a  les tables nommée comme suit et sont structurées de la façon suivante:

  • T_categories,                                                                         ID_categorie ,  Categorie (nom) 
  • T_SousCategories,                                                               ID_SousCategorie; SousCategrorie(nom); ID_Categorie
  • T_TypeProduits,                                                                    ID_TypeProduits; Nom_type_Prod; ID_SousCategories
  •  T_Produits,                                                                           ID_Produits; Nom_Produit; ID_TypeProduit

Avec ces tables, j'ai créé  un formulaire de recherche . celui-ci contient une zone de texte pour les mots clés (mots à rechercher)  , un bouton  , ainsi qu'un sous formulaire  (en mode feuille de données) qui contient le résultat.   ce formulaire est centré sur la catégorie. ainsi lorsque je  recherche une catégorie et après le clic sur le bouton "chercher", le résultat attendu dans le sous formulaire doit être le suivant :

  • colonne 1    =  Categorie  (nom)
  • colonne 2   =  SousCategorie(nom)

Mais lorsque je rentre un mot clé  dans la zone de recherche, exemple  Téléphonie , dans mon sous formulaire, cela me renvoie tous les résultats demander sauf aux deux premières lignes . 

Exemple  lorsque je tape Téléphonie , le résultat est        Catégorie           SousCategorie

                                                                                                 Téléphonie           Hardware            (catégorie informatique)                                                                                                                 Téléphonie           Software                                                                                                                                                                         Téléphonie          Smartphone                                                                                                                                                                     Téléphonie          G.S.M                                                                                                                                                                               Téléphonie          Fixe 

Ce qui fait que dans ma table  T_Categories   l'ID  N°1  (Informatique)  devient Téléphonie .

Comment faire pour remédier à ce problème,   j'utilise MS Office 365  sur Windows 11 .

je vous fais part de quelques images de mon formulaire de recherche ainsi que de mes tables  afin de mieux me faire comprendre . 

Structure de la table des produits
exemple de données de la table des produits
Structure de la table des Catégories
exemple de données de la table des Catégories
structure de la table des sous catégories
exemple de données table sous catégories
structure table types de produits
exemple de données table Type de produits
données sur la requête recherche Sous Catégories
structure et formule de la requête
Formulaire de recherche
nom de champ texte de recherche (mots cles)
Macro sur le bouton du formulaire de recherche

enfin , voici une image vous montrant le résultat de la recherche sur le mots "meubles" 

résultat erroné

vous pouvez voir que les deux premières lignes sont erronées car elles affiches  des sous éléments de la  catégorie "informatique" et non meubles. 

j'ai oublier de vous montrez mes relations de tables  et donc les voici : 

relations de tables


Windows / Edge 111.0.1661.62


1 réponse

yg_be Messages postés 23396 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 Ambassadeur 1 556
2 avril 2023 à 16:38

bonjour,

ton texte est très peu lisible.  Quand tu partages des données, utilise l'icône de partage du code, pour obtenir plutôt ceci:

 Catégorie           SousCategorie

                                                                                                 Téléphonie           Hardware            (catégorie informatique)                                                                                                                 Téléphonie           Software                                                                                                                                                                         Téléphonie          Smartphone                                                                                                                                                                     Téléphonie          G.S.M                                                                                                                                                                               Téléphonie          Fixe 

Je serais curieux de voir la source SQL de la requête recherche Sous Catégories.

Dans l'affichage suite à la recherche meubles, je vois que les deux premières lignes ont "meubles" sans majuscule, bizarre. 

Peux-tu partager ton fichier?

0
yg_be Messages postés 23396 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 1 556
2 avril 2023 à 16:57

Je viens de remarquer "Ce qui fait que dans ma table  T_Categories   l'ID  N°1  (Informatique)  devient Téléphonie".

Ta zone de texte "mot_cle" semble liée au champ "categorie" de ta table.  En fait, ton formulaire est peut-être lié à une table, ce qui, je pense, est nuisible.

0
blackmefias_3350 Messages postés 709 Date d'inscription dimanche 20 septembre 2020 Statut Membre Dernière intervention 26 novembre 2024 61
3 avril 2023 à 17:10

Bonjour YG_BE, 

déjà merci pour ton aide . 

Voici le code SQL de la requête R_rechercheSousCategories

SELECT T_Categories.Nom_Catégorie, T_SousCategories.SousCategrorie
FROM T_Categories INNER JOIN T_SousCategories ON T_Categories.ID_Categorie = T_SousCategories.ID_Categorie
WHERE (((T_Categories.Nom_Catégorie) Like "*" & [Formulaires]![F_rechercheCategories]![mots_cles] & "*")) 
OR (((T_SousCategories.SousCategrorie) Like "*" & [Formulaires]![F_rechercheCategories]![mots_cles] & "*"));

cette façon de faire le formulaire de recherche, je l'ai trouvé sur le net et dont voici le lien :

formulaire de recherche multi criteres

0
yg_be Messages postés 23396 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 1 556 > blackmefias_3350 Messages postés 709 Date d'inscription dimanche 20 septembre 2020 Statut Membre Dernière intervention 26 novembre 2024
3 avril 2023 à 19:03

Tu as improvisé sur base de ce que tu as trouvé sur Internet.

Ton formulaire est visiblement lié à une table, la table des catégories, ce qui explique qu'il en modifie le contenu.

0