Aller au contenu
  • 0
Armelle

Afficher les rubriques d'une table liée, après création

Question

Bonjour, il y avait longtemps que je n'étais pas venue et je découvre le nouveau look du forum, sympa !

Mon problème : sur une solution de gestion de patientèle composée de 2 tables principales liées "Patients" et "Consultations", j'ai un utilisateur qui a réussi à créer un grand pataquès. Je me pencherai plus tard sur le comment et le pourquoi, c'est le seul sur près d'une centaine d'utilisateurs qui a réussi cet exploit.
Mon urgence est de remettre le fichier d'aplomb, j'ai réussi à faire le ménage dans les doublons et reconstitué le fichier patients avec une numérotation cohérente, et lorsque j'affiche une fiche patient (modèle sur table "Patients"), les consultations liées à ce patient qui se trouvent sur la table liée apparaissent dans une liste utilisant l'outil table externe, jusqu'ici tout est correct.

Mais quand je sélectionne dans la liste une des consultations et que s'affiche le modèle (sur table "Consultations"), seules les rubriques appartenant à la table consultation s'affichent, mais plus aucune des rubriques appartenant à la table patients présentes sur ce modèle (nom, prénom, âge, coordonnées,...).
La rubrique qui établit le lien entre les deux tables s'affiche correctement (il s'agit d'une concaténation des rubriques nom, prénom, date de naissance) ce qui est le seul moyen restant visible pour identifier le patient correspondant à la consultation.
Si je crée une nouvelle fiche consultation à partir de la fiche patient, tout fonctionne et s'affiche correctement.

Ma question est donc (en espérant que j'ai présenté mon problème de façon compréhensible...), y a t'il un moyen de réafficher le contenu des rubriques ?

Je compte sur vos lumières pour m'éclairer, merci d'avance !

Armelle

Partager ce message


Lien à poster
Partager sur d’autres sites

6 réponses à cette question

Messages recommandés

  • 0

Bonjour

Tout d'abord: une TRES mauvaise idée est de faire le lien avec Nom,Prenom, Ddn; impossible de rectifier les fautes d' orthographe, de frappe, les changement de nom (mariage, adoption, reconnaissance de paternité....) et gestion problématique des nombreux doublons engendrés. Il faudra refaire les liens avec un UUID.

Dans un premier temps: Créer une rubrique Id_Patient (clé primaire) et l' implémenter par la la fonction remplace (par obtenir UUID)

Ensuite : faire apparaitre cette rubrique dans la table Consultations (Patients::Id_Patient) avec ton lien actuel: tu verras alors quelles consultations sont rééllement liées à un patient. Tu feras ensuite une rubrique Id_ref_patient dans ta table Consultations et en affichant TOUTES les Consultations tu feras :remplace Id_Ref_consultation par Patients::Id_Patient

Enfin tu referas ton lien: entre Id_Patient et Id_ref Patient

ATTENTION:  ne travailler que sur une copie de ton fichier tant que celui-ci n' est pas réparé !

Pour les fiches Consultation ayant perdu le lien: il faudra rechercher manuellement une à une les fiche liées: avec des recherches sur Nom Ou Prénom OU Ddn

 

Le schéma de base quasi incontournable est celui du modèle joint (après, on fait ce qu' on veut): il faut créer un lien indestructible entre Patient et Consultations: Point Barre !

Patients.fmp12

Patients.fmp12

Patients.fmp12

Patients.fmp12

Patients.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonsoir,

On dirait que le lien ne fonctionne (plus) que dans un sens.

Depuis un patient on voit les consultations, mais depuis une consultation on ne voit plus le patient.

Pourriez-vous vérifier le statut d'indexation des deux rubriques clés. La rubriques clé (concaténation de nom, prenom, date de naissance) dans consultation et la rubrique clé (concaténation de nom, prenom, date de naissance) dans patient; Les deux rubrique sont elles mémorisées (indexée) ?

Pourriez-vous montrer une copié d'écran du graphe des liens avec le détail des relations.

 

Cordialement,

Tanguy

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

En effet comme dit Tanguy, il serait utile de "réparer" ton lien et pour cela on a besoin des définitions des rubriques formant ce lien. (texte, date, calcul, implémentation automatique...)

Mais, je pense que ta correction des doublons a dû en rompre quelques uns (pour corriger tes doublons, n' as-tu pas modifié quelques définitions ? : ceci expliquerait le problème actuel au niveau de l' indexation)

Si le lien fonctionne dans le sens: patients=> consult

Tu peux le réparer par un script en boucle depuis patient qui implémenterait la rubrique Id_ref_Patient de la table consultations : tout sera joué et tu n' auras plus jamais de rupture de lien: Le fichier sera rationnel. Pour cela,

A faire sur une copie  du fichier bien sûr (comme tout calcul ou script utilisant la fonction Remplace) !

1)Tu crées une rubrique texte "id_Patient" dans Patient et une rubrique texte "Id_ref_patient" dans Consultations

2)puis tu lances le script :

Activer Modèle patient

Afficher tous les enregistrements

Trier les enregistrements (comme tu veux: nom prénom) non indispensable mais si le script était interrompu, il serait bon de trouver les enregistrements traités)

Activer enregistrement (Premier)

Boucle

Définir id_Patient= Obtenir UUID

Définir Variable $ID= id_Patient

Activer enregistrements liés de Consultations (modèle consultation)(faire correspondre ..jeu actuel uniquement)

Remplacer Id_ref_Patient par $ID (sans boite de dialogue car tu as beaucoup de patients et tu es sur une copie du fichier)

Activer modèle d' origine

Activer enregistrement /page (suivante)

Fin de boucle après dernière

Fin de boucle

(Attendre la fin du script: ça peut prendre de qq secondes à qq minutes)

Ensuite tu refais ton lien entre Patient et Consultations:  Id_Patient avec Id_Ref_Patient

et enfin et seulement là, tu définis pour finir:

_id_Patient:  entrée auto, résultat du calcul= Obtenir UUID, non modifiable, non saisissable

_id_ref_Patient= Non saisissable

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci de vos réponses, 

Après première lecture, je dois apporter quelques précisions, en fait le lien entre les 2 tables n'est pas fait avec le calcul NomPrenomDate, mais sur une rubrique "compteur" zc15RecNum_cn (indexée) sur la table Patients, et quand je dis que :``

 "La rubrique qui établit le lien entre les deux tables s'affiche correctement (il s'agit d'une concaténation des rubriques nom, prénom, date de naissance) ce qui est le seul moyen restant visible pour identifier le patient correspondant à la consultation."

En fait je dis une bêtise, car ce n'est pas la rubrique qui fait le lien mais c'est la seule rubrique qui s'affiche qui me permet sur la fiche consultation d'identifier le patient.

Donc effectivement le problème est bien tel que l'a identifié Tanguy, ça ne fonctionne que dans un sens, mais c'est toujours lié.

D'autre part quand je parle de doublons, c'est aussi une mauvaise façon de décrire ce qui s'est passé, en fait cet utilisateur a réussi par je ne sais quelle mauvaise manip (que je n'ai pas verrouillée) à créer des fiches patients portant le même numéro mais avec des patients différents... alors que la création se fait via une rubrique compteur "PatientNumero" (indexée) mais je constate que je ne l'ai pas indiquée comme unique, non vide et j'ai laissé coché "Autoriser les modifications utilisateur", ça je pense que c'est pas bien du tout et vraisemblablement à l'origine du problème.
Ce qui s'est donc produit c'est que les consultations ne savaient plus vers quel numéro de patient revenir.

Je suis donc bien d'accord avec Jean-Louis sur le fait que mon identification est mal faite à la base et je vais y remédier pour que cela ne se reproduise pas avec d'autres utilisateurs.

Sur le fichier (une copie bien sûr !) j'ai donc supprimé les fiches patients portant le même numéro et qui, en fait étaient vides, elles s'étaient crées en voulant repartir d'une consultation vers le patient.
Puis j'ai vérifié la cohérence (avec le fichier d'origine non modifié) des affichages des consultations à partir des fiches patients, tout est correct dans ce sens.
Toutes les consultations sont donc bien reliées au patient qui leur correspond, donc pas de perte ni de mélange de données, confirmé par cette rubrique calcul NomPrenomDate présente et visible sur chaque consultation.

Ci-joint les copies d'écrans du réglage de la rubrique lien, le graphe des liens et le détail de la relation (je pense que c'est ça que demande Tanguy).

Au risque de paraître un peu bête, Jean-Louis peux-tu me préciser ce que signifie UUID ?
Je comprends le principe du script que tu me suggères, mais au regard des précisions que je viens d'apporter, merci de me confirmer qu'il correspond bien à mon problème.

J'attends vos réponses avec impatience !

Armelle

 

Capture-d’écran-2019-03-11-à-10.01.28.jpg

Capture-d’écran-2019-03-11-à-09.55.45.jpg

Capture-d’écran-2019-03-11-à-09.28.11.jpg

2008074468_Capture-decran-2019-03-11-a-10_01_28.thumb.jpg.25feebc03986cffcf6f8d9eea313ed63.jpg

1078667271_Capture-decran-2019-03-11-a-09_55_45.thumb.jpg.b1a292243e3030e83bb41eaa180ce56c.jpg

618978356_Capture-decran-2019-03-11-a-09_28_11.thumb.jpg.16506195df2a0f2bcde7784e17ff55a6.jpg

2008074468_Capture-decran-2019-03-11-a-10_01_28.thumb.jpg.25feebc03986cffcf6f8d9eea313ed63.jpg

1078667271_Capture-decran-2019-03-11-a-09_55_45.thumb.jpg.b1a292243e3030e83bb41eaa180ce56c.jpg

618978356_Capture-decran-2019-03-11-a-09_28_11.thumb.jpg.16506195df2a0f2bcde7784e17ff55a6.jpg

2008074468_Capture-decran-2019-03-11-a-10_01_28.thumb.jpg.25feebc03986cffcf6f8d9eea313ed63.jpg

1078667271_Capture-decran-2019-03-11-a-09_55_45.thumb.jpg.b1a292243e3030e83bb41eaa180ce56c.jpg

618978356_Capture-decran-2019-03-11-a-09_28_11.thumb.jpg.16506195df2a0f2bcde7784e17ff55a6.jpg

2008074468_Capture-decran-2019-03-11-a-10_01_28.thumb.jpg.25feebc03986cffcf6f8d9eea313ed63.jpg

1078667271_Capture-decran-2019-03-11-a-09_55_45.thumb.jpg.b1a292243e3030e83bb41eaa180ce56c.jpg

618978356_Capture-decran-2019-03-11-a-09_28_11.thumb.jpg.16506195df2a0f2bcde7784e17ff55a6.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour,

A la vue du graphe de lien, il ne devrait pas y avoir de problème pour afficher depuis un modèle basé sur le contexte PAT_Patients des données issues de CON_Consultations...et inversement : sur un modèle basé sur l'occurrence CON_Consultations voir des valeurs de rubriques de PAT_Patients

Mais donc pas CON_Consultmiroir, ni PAT_Patientmiroir, PAT_Patients 2

Par contre la barre verticale devant les rubriques zkf de la table PER_Personnalisation me posent question ? Cette barre indique que les données de ces rubriques ne sont pas indexées, ce qui n'est pas normal pour des rubriques clé étrangère (comme le nom zkf le suggère)

 

Cordialement,

Tanguy

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Tanguy, encore quelques précisions suite à ta remarque :

Les tables CON_Consultmiroir, ni PAT_Patientmiroir, PAT_Patients 2 n'ont d'utilité que pour un script de récupération de données d'une version précédente avec table unique.
Elles ne sont plus actives, une fois que les données récupérées sont "injectées" dans la nouvelle solution.

La table personnalisation permet d'enregistrer sur une fiche unique les coordonnées du thérapeute actif, les informations que cette fiche contient servent à renseigner les notes d'honoraires et sur les fiches patient et consultation le nom du thérapeute qui a reçu le patient. Ainsi le même fichier peut servir pour plusieurs thérapeutes ou le même avec 2 cabinets différents, la fiche peut être sauvegardée, le nom du fichier de sauvegarde se crée à partir du nom et du lieu.
A chaque changement (de thérapeute ou de cabinet) il suffit de charger en début de session la fiche correspondante qui vient remplacer celle active.

J'ai démarré cette solution il y a maintenant plusieurs années avec l'aide d'un "pro" de filemaker, une fois lancée sur mes rails j'ai continué seule et j'avoue que le nom donné aux rubriques (ex zkf) ne m'évoque rien d'autre qu'un rangement alphabétique, il a peut-être pour toi une signification qui en fait ne signifie plus rien pour moi... J'avance parfois à tâtons et je dois certainement faire des trucs pas très règlementaires !

Je suis autodidacte, j'aime chercher et trouver par moi-même mais quand je bloque sur un truc, ma seule solution est ce forum qui, jusqu'à présent m'a permis de bien avancer. Mon métier principal c'est infographiste, Filemaker est mon violon d'Ingres.
Ma solution est certainement bourrée de scripts lourds, tordus et redondants mais ils fonctionnent... sauf quand un utilisateur tombe sur une faille.

Mon urgence est de pouvoir restituer un fichier qui fonctionne à l'utilisateur (qui, depuis vendredi fait des fiches à la main !), je me pencherai ensuite sur la solution de base pour l'optimiser afin que ce genre de problème ne se reproduise pas. Un peu d'aide pour faire les choses proprement sera bienvenue.

Armelle

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

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

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...