Bonjour à tous,
Contexte, je travaille en hôpital et lors d'un séjour d'un patient diférents événements peuvent survenir qui viennent écrire une ligne dans l'historique du patient: Il change d'unité de soins, ou il change de médecin, il change de chambre, ou de catégorie de tarif, etc etc etc.. Mais ce n'est pas toujours simple de voir où se situe la ou les différences avec la ligne précédente dans la liste.
Quand je vais dans liste d'enregistrements de la table des événements trié par ordre de date, je peux mettre en évidence quelle ou quelles rubrique(s) ont changé par rapport à la ligne précédente via le formatage conditionnel simplement en définissant comme condition de mise en évidence (ici pour la rubrique unité de ma table événements.
Obtenir( NuméroEnreg ) > 1 And
Evenements::Unite <> ObtenirEniemeEnreg ( Evenements::Unite ; Obtenir(NuméroEnreg )-1)
Cette méthode sympa et simple ne fonctionne malheureusement pas dans une table externe.
Les mêmes calculs donnent des comportements tout à fait aléatoires.
Bien sûr je peux faire des calcul dans la table événements et créer un calcul par différence de chcacun des champs en se basant sur un lien vers une occurence de la même table avec une date > à la date de la 2° occurence et en triant par ordre de date.
Si je me base sur le résultat du champ calculé dans le formatage conditionnel de la table externe, ça fonctionne.
MAIS, le problème c'est que j'ai une table des mouvements de 500 000 records.
Même si pour un séjour d'un patient donné je n'ai que 5 ou 10 mouvements, le temps d'affichage est énorme lorsque je fais ce formatage conditionnel par caclul depuis Patients vers Evenements qui calcule lui même la différence avec une autre occurence d'Evenements qui est date > date et trié par date.
Je cherche donc une méthode beaucoup plus rapide pour l'affichage qui se baserait sur les différence des lignes de la table externe uniquement.
J'a un fichier d'exmple que je joindrais bien, mais je ne vois pas l'option pour le poster.
Merci de votre avis et de votre tuyau éventuel.
Bernard