cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 juil. 2007 à 17:45
Salut
Vu l'organisation de ta table, tu n'as pas d'autre choix que de répéter 5 x 5 fois une requète de recherche puisque tu as mis les mots clés dans les champs d'une seule table :
"Select nom_menu From TableMenu Where motscles1 like '%" & TextBox1.Text & "'%'"
"Select nom_menu From TableMenu Where motscles2 like '%" & TextBox1.Text & "'%'"
"Select nom_menu From TableMenu Where motscles3 like '%" & TextBox1.Text & "'%'"
"Select nom_menu From TableMenu Where motscles4 like '%" & TextBox1.Text & "'%'"
"Select nom_menu From TableMenu Where motscles5 like '%" & TextBox1.Text & "'%'"
puis
"Select nom_menu From TableMenu Where motscles1 like '%" & TextBox2.Text & "'%'"
"Select nom_menu From TableMenu Where motscles2 like '%" & TextBox2.Text & "'%'"
"Select nom_menu From TableMenu Where motscles3 like '%" & TextBox2.Text & "'%'"
"Select nom_menu From TableMenu Where motscles4 like '%" & TextBox2.Text & "'%'"
"Select nom_menu From TableMenu Where motscles5 like '%" & TextBox2.Text & "'%'"
etc ...
Donc, 25 RecordSet !!
Ensuite, il faut récupérer le contenu des 25 RecordSet pour les présenter à l'utilisateur (ListBox ?)
Avec cette organisation, si un mot clé apparait plusieurs fois, il sera stocké plusieurs fois (une fois pour chaque menu): garre à la taille de ta DB !
Ce qu'il aurait fallu faire :
Table 1 : idMenu, nom_menu, idGroupe
Table 2 : idGroupe, idMot
Table 3 : idMot, MotClé
Les champs soulignés seraient les clés primaires des tables.
Après, en recherche, tu n'aurais eu qu'à rechercher MotClé dans la table 3 (5 requètes), puis remonter au menu grace aux idMot et idGroupe.
Avantages :
- Un mot clé n'est stocké qu'une seule fois = gain de taille DB
- Pas de limite du nombre de mots clé par menu = souplesse
Inconvénients :
- Plus de programme/requète lors des insertions, recherche et suppression
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 juil. 2007 à 19:15
Salut
En réponse à ton message privé (*), ces formules doivent être utilisées dans un RecordSet sur ta base de données.
Ce qui m'étonne, c'est que tu parles de formulaire. Ce mot, en général, vient des applications en VBA de Excel ou Access.
Es-tu sûr d'être en .Net ?
Pour te répondre, il faudra être plus précis :
- environnement de ton application
- méthode d'accès à tes données ...
De toute façon, essaye de rechercher / lire des codes ou des questions sur le forum à propos des base de données.
Il faut connaitre la base (savoir faire une requète de base) avant de commencer à vouloir faire compliqué.
(*) messages auxquels je ne réponds jamais directement car les réponses que pourront te faire les membres de vbfrance pourront surement servir à d'autres, c'est la base même du site.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés