[Résolu] Liste Mots-clés alimentable basée sur zone combinée/combobox

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
wat
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 18 avr. 2024 16:42

[Résolu] Liste Mots-clés alimentable basée sur zone combinée/combobox

Message par wat »

Bonjour tous,

Je vous propose ici d'utiliser une zone combinée, ou combobox, pour pouvoir sélectionner dans une liste plusieurs mots-clés liés à un enregistrement de votre base, mais également de pouvoir ajouter de nouveaux mots-clés directement dans la liste.

Étrangement c'est une question (pouvoir alimenter la liste "à la volée") qui revient beaucoup dans les forums, mais qui n'a jamais reçu de réponse satisfaisante, d'après ce que j'ai pu en voir. Du coup j'ai creusé. :tesfou:

La base EXEMPLE_MOTS_CLES.odb ci-joint se compose de trois tables "imbriquées" :

EX_MC.PNG

Un "livre" peut avoir plusieurs "nouvelles". Chaque "nouvelle" peut avoir plusieurs "mots-clés".

Je laisse le sujet ouvert quelques temps, si quelqu'un a des améliorations à proposer ou des commentaires à faire, avant "d'éditer" cette remarque et de passer en résolu.

Espérant que ça vous plaise.

EXEMPLE_MOTS_CLES.odb
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 04 sept. 2024 11:45, modifié 1 fois.
Raison : Balisage
LibreOffice 7.6.6.3 sous Windows 7 64b SP1 RAM 8G
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Liste Mots-clés alimentable basée sur zone combinée/combobox

Message par Dude »

Salut,
wat a écrit : 22 mai 2024 14:41Je vous propose ici d'utiliser une zone combinée, ou combobox,
L'exemple que tu fournis ne contient pas ce contrôle (cf. copie écran).
De toute façon, vouloir créer des items ne pourra se faire que via macro au péril d'une gymnastique osée.
wat a écrit : 22 mai 2024 14:41 Un "livre" peut avoir plusieurs "nouvelles". Chaque "nouvelle" peut avoir plusieurs "mots-clés".
Il manque une règle : un mot-clé peut avoir plusieurs nouvelles.
Et donc ta relation est fausse car elle doit être n-n avec une table supplémentaire.


.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
wat
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 18 avr. 2024 16:42

Re: Liste Mots-clés alimentable basée sur zone combinée/combobox

Message par wat »

Salut Dude,

Dis-donc, je te trouve bien critique ! Moi qui étais tout fier... :( :mrgreen:

Cela dit :
L'exemple que tu fournis ne contient pas ce contrôle
En fait si : le contrôle Zone combinée est attaché à la colonne "motcle" de la table de droite. Chaque ligne de cette colonne contient donc une Combobox, ce qui permet à la fois :
- d'afficher tous les mots-clés attachés à un objet "Nouvelle";
- d'insérer un nouveau mot-clé "à la volée" dans la première ligne vierge de la colonne.
De toute façon, vouloir créer des items ne pourra se faire que via macro au péril d'une gymnastique osée.
Effectivement, le seul exemple trouvé sur le forum permettant cette insertion "à la volée" comprenait 2 (deux !) macros différentes, d'au moins trente ! lignes chacune, et d'une complexité... disons ingérable à mon niveau.
A minima, ma solution a l'élégance de n'utiliser aucune macro ! :bravo:
Il manque une règle : un mot-clé peut avoir plusieurs nouvelles.
En fait non : dans la configuration que je propose, un mot-clé donné est répété chaque fois qu'il est utilisé dans un nouvel enregistrement lié à une nouvelle. Ainsi dans ma base exemple (voir table "3_MOTSCLES"), la nouvelle "n° 1" est liée au mot-clé [ ID_MC=0 Georges ] et la nouvelle "n°0" est liée aux mot-clé [ ID_MC=2 Georges ] et [ ID_MC=3 Marc ].
CaptureMotscles.PNG
Dans cette configuration, il y a en fait deux mots-clés "Georges" différents, avec un champ "motcle" identique. Ergo : un mot clé ne peut avoir qu'une nouvelle.

C'est une manière que j'ai trouvé pour contourner le fait que effectivement, dans une relation n-n avec une table supplémentaire, c'est trop "périlleux", comme tu le dis toi même, d'alimenter sa liste de mots-clés à la volée. Je conçois que ce n'est pas très catholique :oops: , et ça implique d'en être conscient au moment de configurer la recherche par mots-clés.
J'avoue que je ne me suis pas encore penché sur cette question de recherche, mais d'après ce que j'ai compris du SQL jusqu'à présent, ça devrait être gérable avec une requête bien travaillée.
Ça me semble quand même plus pratique que d'ouvrir un nouveau formulaire pour rentrer un nouveau mot-clé, puis de revenir au formulaire initial, le recharger, puis sélectionner le nouvel item.

C'est une solution de contournement, que je n'avais pas encore vue sur le le forum. Peut-être que ça pourra servir.
Je l'ai implémentée dans mon projet "Gestion bibliothèque complexe", section "Projets" du site, en ajoutant un bouton qui ouvre un formulaire affichant simplement la liste de tous les mots-clés "distinct", pour référence au cas ou. Je mettrais cette nouvelle version en ligne prochainement, dans quelques jours.

En tous cas merci pour ton retour, c'est vrai que mon post initial avait besoin d'être discuté.

À te lire.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.6.3 sous Windows 7 64b SP1 RAM 8G
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26201
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Liste Mots-clés alimentable basée sur zone combinée/combobox

Message par Dude »

wat a écrit : 23 mai 2024 14:16A minima, ma solution a l'élégance de n'utiliser aucune macro !
Le problème, c'est qu'il n'y a aucun contrôle de la saisie. Et donc l'ajout du même mot-clé peut se faire.
capture.jpg

wat a écrit : 23 mai 2024 14:16Je conçois que ce n'est pas très catholique et ça implique d'en être conscient au moment de configurer la recherche par mots-clés.
Ton modèle relationnel est donc incorrect et ne respecte la 3FN.
Hormis le coût de l'indexage lors des recherches, tu risques aussi de te retrouver dans des requêtes insolubles.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4343
Inscription : 06 oct. 2008 08:03

Re: Liste Mots-clés alimentable basée sur zone combinée/combobox

Message par Oukcha »

Bonjour,

Plus de 3 mois plus tard, sans nouvelle de votre part, on peut en déduire que le problème est résolu ou ne se reproduit plus.

Merci de baliser par vous-même la prochaine fois.

Un remerciement fait aussi plaisir aux bénévoles qui vous ont consacré de leur temps.
La politesse fait également partie de la philosophie du logiciel libre.

En cas d'erreur, contactez l'équipe de modération pour la réouverture du fil.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image