Jump to content
  • 0

revoir organisation des listes dans une bdd


anatole
 Share

Question

Bonjour,

J'avais ouvert un post car Filemaker (et lui uniquement) s'est mis assez fréquemment à ralentir un peu sur mon ordi : il en était ressorti que ce n'était pas un problème de mise à jour de Filemaker pro 14 mais que les performances de mon ordi commenceraient à être un peu justes... (un point était resté en suspens ! : je n'ai pas trouvé comment vérifier l'état des plugins éventuellement installés 🤯🤯)

Moi, je pensais que comme j'ai bidouillé ma base sans aucune rigueur, elle commençait à être lourde ? Dans tous les cas, ça me donne envie de la "rationaliser".

Je résume. Ma bdd toujours intitulée "Oeuvres" a trois tables : "Auteurs" (1 400 enregistrements), "Œuvres" (2 300 enregistrements) et "Citations" (3 000 enregistrements), reliées entre elles [ça ça fonctionne correctement]

J'ai des rubriques, comme "lieu", "ville", "evenhistor", "person" qui sont reprises dans chacune des trois tables. Pour chaque rubrique séparément, je voulais que le contenu global dans les 3 tables serve à remplir une même liste-menu déroulant affecté à la rubrique (dans les trois tables), j'ai construit un système de listes -- dont je ne comprend plus très bien le fonctionnement 🤧 -  rubrique par rubrique, pour récolter leur contenu dans les 3 tables, le fusionner et le renvoyer vers une liste-menu déroulant, avec une remise à jour grâce à des scripts au démarrage... : c'est ça que je voudrais rationaliser ! 😉

Je mets une version mini de ma base (sur le net car elle fait plus 2 mb) avec un seul enregistrement dans chaque table - quelques messages d'erreur à l'ouverture mais finalement elle s'ouvre !!.

Peut-être je demande un soutien un peu excessif. S'il y a quelqu'un  pour m'aider à commencer à reprendre mon "foutoir", j'apprécierais beaucoup

Très bon week-end

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Bonjour,

Beaucoup d'erreurs  dans le 1er script qui en appelle d'autres.   

on trouve principalement toujours les mêmes erreurs 

modèle inconnu  ??    pas de nom de modèle     dans la commande   Activer modèle [ '''''''inconnu ''''''']  

 3            Commande non disponible (par exemple, système d'exploitation ou mode incorrect)

102        Rubrique manquante

103        Lien manquant

je pense que ces erreurs  suggère  pas une bonne chose pour la suite du programme

il faut avoir un modèle pour réalisé la suite du script ainsi que des liens  sur les rubriques  que l'on veux  renseigner.

Salutations  

Link to comment
Share on other sites

  • 0
Le 19/09/2020 à 13:05, anatole a dit :

Pour chaque rubrique séparément, je voulais que le contenu global dans les 3 tables serve à remplir une même liste-menu déroulant affecté à la rubrique (dans les trois tables)

Bonjour Anatole,

Pour faire cela, le plus simple est d'utiliser une table pour chacune de ces rubriques.

Par exemple, tu pourrais avoir une table Ville, dans laquelle s'accumuleraient les villes saisies dans les tables Auteur, Oeuvre et Citation. Ainsi, une liste de valeur basée à n'importe quel endroit pourrait te présenter la liste complète des villes déjà présentes.

Après, la question qui se posera est celle du mode de saisie. Ca pourrait être un Menu local avec un bouton Plus juste à côté, qui s'occuperait de créer une nouvelle ville si elle n'est pas dans le menu. En revanche, ça ne pourra pas facilement être une simple rubrique de saisie (car on ne saisira plus directement "Paris", on entrera le lien vers l'enregistrement de Paris dans la table Ville).

Bonne journée,

Jérémie

Link to comment
Share on other sites

  • 0

Merci Jérémie pour cette réponse. Je réponds tardivement mais le dossier reste très actif pour moi !

Créer une table spécifique pour accueillir les réponses, rubrique par rubrique : je me doutais que c'était la solution 😄

"Ca pourrait être un Menu local avec un bouton Plus" : là je pense à une liste pour choisir une entrée dans les réponses déjà stockées :  ok ; mais  "un bouton plus" : là je suis perdu car je n'ai jamais pratiqué ça 🤨

et : "ça ne pourra pas facilement être une simple rubrique de saisie (car on ne saisira plus directement "Paris", on entrera le lien vers l'enregistrement de Paris dans la table Ville)" : j'imagine qu'il faut concevoir un script qui derrière le bouton se chargerait de créer un nouvel enregistrement dans la table quand une réponse ne figure pas dans celles déjà existantes : là aussi, je maîtrise très peu ce que devrait être le contenu de ce script 🤨

Question subsidiaire : dans la table spécifique, comment créer les enregistrements correspondant aux réponses déjà entrées depuis la création de ma bdd ??

Merci de tes lumières

Link to comment
Share on other sites

  • 0
il y a 58 minutes, anatole a dit :

j'imagine qu'il faut concevoir un script qui derrière le bouton se chargerait de créer un nouvel enregistrement dans la table quand une réponse ne figure pas dans celles déjà existantes

Bonjour Anatole,

Oui, c'est cela. En gros : une boîte de dialogue "Voulez-vous créer une ville ? Merci d'en préciser le nom" --> le script va dans la table des villes (dans une nouvelle fenêtre, c'est pratique) --> il cherche la ville pour s'assurer qu'elle n'existe pas déjà --> il la crée si nécessaire --> il prend l'identifiant de la ville créée --> il revient à l'écran de départ --> et applique l'identifiant de la ville à l'enregistrement d'où l'on est parti

il y a une heure, anatole a dit :

Question subsidiaire : dans la table spécifique, comment créer les enregistrements correspondant aux réponses déjà entrées depuis la création de ma bdd ??

Tu peux procéder par création via lien. Tu connais sûrement la propriété "Permettre la création d'enregistrements via ce lien", il s'agit de cela.

Tu auras une OT "Villes_crea_depuis_auteurs", qui sera reliée à l'OT Auteurs ainsi : Auteurs::ville = Villes_crea_depuis_auteurs::ville avec la propriété de création. Il te suffira alors de boucler sur tous les auteurs en faisant un Définir rubrique [ Villes_crea_depuis_auteurs::z_1 = 1 ] (la rubrique z_1 étant une simple rubrique nombre contenant toujours 1). A la fin de la boucle, si tu as 2.400 auteurs répartis sur 1.633 villes, tu auras 1.633 enregistrements dans la table Villes.

Au passage, comme l'objectif final est de stocker non plus les noms des villes, mais leurs identifiants, tu pourras enregistrer les identifiants des villes créées dans les auteurs.

Cela donne, pour chaque auteur :

  • Définir rubrique [ Villes_crea_depuis_auteurs::z_1 = 1 ]
  • Valider enregistrement
  • Définir rubrique [ Auteurs::id_ville = Villes_crea_depuis_auteurs::id ]
  • Valider enregistrement

Après la boucle, la rubrique Auteurs::ville devient caduque est doit être remplacée par id_ville partout.

Ensuite, une boucle équivalente à partir d'œuvre, etc., et final, une table Villes contenant toutes tes villes actuelles et sans doublon.

A suivre,

Jérémie

Link to comment
Share on other sites

  • 0

Bonsoir,

Je déterre mon sujet😂 car ma BDD est toujours aussi poussive ... Je rappelle le problème, parmi des milliers, sur lequel je me focalise pour l'instant :

Le 19/09/2020 à 13:05, anatole a dit :

J'ai des rubriques, comme "lieu", "ville", "evenhistor", "person" qui sont reprises dans chacune des trois tables. Pour chaque rubrique séparément, je voulais que le contenu global dans les 3 tables serve à remplir une même liste-menu déroulant affecté à la rubrique (dans les trois tables)

(important : je ne suis qu'en FileMaker pro 14...) J'ai compris qu'il faut créer une table spécifique pour chaque accueillir le contenu des rubriques présentes dans mes 3 tables principales (je suppose que créer potentiellement 5... 6... tables nouvelles avec chacune 500... 2000  enregistrements ne va pas plus alourdir ma bdd que mon bricolage actuel à partir de listes mises à jour à chaque démarrage🤪) mais j'aurais besoin de plus d'explications... pour la mise en place du remplissage de ces dites rubriques que Jérémie m'avait résume ainsi :

Le 01/10/2020 à 14:09, Jérémie Gimenez a dit :

En gros : une boîte de dialogue "Voulez-vous créer une ville ? Merci d'en préciser le nom" --> le script va dans la table des villes (dans une nouvelle fenêtre, c'est pratique) --> il cherche la ville pour s'assurer qu'elle n'existe pas déjà --> il la crée si nécessaire --> il prend l'identifiant de la ville créée --> il revient à l'écran de départ --> et applique l'identifiant de la ville à l'enregistrement d'où l'on est parti

Question subsidiaire : je projette de créer une nouvelle bdd dans le cadre de recherches historiques amateur...🤪, serait-ce dans l'esprit de ce forum que je donne avant le schéma souhaité et qu'il me soit expliqué - dans les grandes lignes... 🤗 - comment procéder intelligemment

Merci et bon vikend

Link to comment
Share on other sites

  • 0
Le 25/06/2021 à 21:03, anatole a dit :

serait-ce dans l'esprit de ce forum que je donne avant le schéma souhaité et qu'il me soit expliqué - dans les grandes lignes... 🤗 - comment procéder intelligemment

Bonjour Anatole,

Oui, cela peut se faire. La difficulté est qu'en début de projet, il y a tellement de questions à se poser que tout ne peut pas être résolu immédiatement. Tu pourras cependant obtenir quelques avis sur les grandes lignes.

Le 25/06/2021 à 21:03, anatole a dit :

mais j'aurais besoin de plus d'explications... pour la mise en place du remplissage de ces dites rubriques

Où en es-tu à cette heure ? La table Ville est-elle présente et y as-tu déjà importé les villes existant dans les différentes tables ?

As-tu choisi une autre direction ?

Bon dimanche,

Jérémie

Link to comment
Share on other sites

  • 0

Merci de cette réponse Jérémie,

Que je sois honnête : je reprends le dossier sans avoir rien fait 🤫 Donc déjà, je vais faire cette première étape que tu m'avais expliquée :"Tu auras une OT "Villes_crea_depuis_auteurs", qui sera reliée à l'OT Auteurs ainsi : Auteurs::ville = Villes_crea_depuis_auteurs::ville avec la propriété de création. Il te suffira alors de boucler sur tous les auteurs en faisant un Définir rubrique [ Villes_crea_depuis_auteurs::z_1 = 1 ] (la rubrique z_1 étant une simple rubrique nombre contenant toujours 1)" ; je suppose que pour cette table "villes" à créer, il faut au minimum : une rubrique id = numérotation automatique et une rubrique ville pour noter le nom de la ville.

Je reviens ici ensuite pour la création de "la boîte de dialogue" permettant de la remplir : je me rends compte que je n'ai quasiment jamais travaillé sur les boîtes de dialogue et autres formulaire dans FMpro !! une fois saisie la méthodo, je l'appliquerai à la dizaine de rubriques concernées car c'est très certainement une solution plus fluide que mon bricolage utilisant ElemenstListeValeurs et autres scripts à l'ouverture.

Quand je serai prêt, j'ouvrirai un sujet spécifique pour la création de ma nouvelle bdd pour mes recherches à propos de laquelle j'ai quelques objectifs de principe assez simples 🙂

Bonne semaine

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...