Bonjour à tous,

Dans le cadre de mon stage j'ai réalisé une application de la manière suivante :

Dans la BDD :
J'ai une table Institution.
J'ai également des tables d’associations comme par exemple SecteurInstitution qui reprend les secteurs dans lesquels cette institution est active.


Dans mon application


Lors de la première ouverture de cette interface, je récupère tous les tuples de ma table Institution, je crée des objets Institution que je rajoute à une liste d'objets institution.
Je fais ensuite une requête sur mes tables d’associations qui associent, par exemple, à chaque objet Institution une liste de secteurs.
Une fois le chargement terminé, je rempli une listbox de ma fenêtre "recherche des institutions"
NB : la récupération des tuples ne se fait uniquement si ma liste d'objets institution est vide !

Vous suivez toujours ?

Je vous donne un aperçu de l'interface :




Vous remarquez qu'à droite se trouve un « volet » avec une série de critères de recherche, ceux-ci modifient le contenu de la listbox une fois qu'on clique sur le bouton rechercher.

Afin de garder les critères de recherche, je ne ferme jamais "recherche institution" mais je la cache.


Mon application se trouve sur un serveur.

Problème :

Soit X et Y deux personnes différentes sur des postes différents utilisant le programme en même temps
X rajoute l'institution MICROSOFT
(L’ajout se fait bien dans la BDD)
MAIS : Y ne peut pas voir MICROSOFT. Il est obligé de relancer le programme pour que MICROSOFT apparaisse dans la recherche d'institution.

Comment faire pour que Y ne doive pas relancer le programme. N'aurais-je pas du travailler avec des objets ? L'utilisation d'un DataSource permettrait-il la résolution du problème ?

Faire un bouton rafraichir qui recharge la liste est une option... Mais je souhaiterais savoir comment l'éviter ?

Merci beaucoup de votre aide !