Salut à tous,

J'suis en train de créer un logiciel à partir de Delphi 2005 et Interbase 7.5.

Il y a donc une seule et unique base de donnée (un fichier .gdb avec plusieurs tables) sur laquelle viennent se "raccrocher" une dizaine de logiciel client (qui peuvent lire, écrire, et changer des infos déjà présentes).

Lorsqu'un de ces logiciels clients (tous ces logiciels clients sont les mêmes) change, écrit une information dans une table, il faut que je ferme le logiciel client qui l'a introduite, ainsi que j'ouvre un nouveau logiciel client pour qu'enfin ce dernier prenne en compte les modifications.

Il y a donc deux problèmes:
- il faut fermer le logiciel qui a introduit les données pour qu'elles soient prises en compte.
- il faut lancer un logiciel seulement après que l'premier soit fermé, le refresh ne fonctionnant pas.

Ce que j'aimerais, c'est que lorsqu'un de ces logiciels clients ajoute des infos, il suffit de faire "Refresh" sur les autres logiciels pour que les changements soient pris en compte.


Code du InsertSQL sur IBUpdate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Insert Into SL
  (COTE, DATE_INSERTION, INCREMENTATION, MARQUE, NOM, TTYPE, VERSION)
Values 
  (:COTE, :DATE_INSERTION, :INCREMENTATION, :MARQUE, :NOM, :TTYPE, :VERSION)
Code du ModifySQL sur IBUpdate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Update SL
Set
  COTE = :COTE,
  DATE_INSERTION = :DATE_INSERTION,
  INCREMENTATION = :INCREMENTATION,
  MARQUE = :MARQUE,
  NOM = :NOM,
  TTYPE = :TTYPE,
  VERSION = :VERSION
Where
  INCREMENTATION = :OLD_INCREMENTATION
Code du RefreshSQL sur IBUpdate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Select
  COTE, DATE_INSERTION, INCREMENTATION, MARQUE, NOM, TTYPE, VERSION
From SL
Where
  INCREMENTATION = :INCREMENTATION
Si quelqu'un pourrait m'aiguiller, ça s'rait sympa. Merci d'avance