Az adattáblákat nem csak adatok tárolására használhatjuk fel, hanem például gépek közötti kommunikációra is. Létrehozhatunk különböző mezőket, amelyek értékét programból figyeljük.
A mellékelt példában két alkalmazást készítettünk. Az egyik (User.dpr) a felhasználói adatkarbantartó oldalt képviseli, a másik (Supervisor.dpr) a rendszergazdai oldalt.
A példaprogram két adattáblát használ. A Test.db táblában végezhet a felhasználó adatfelvitelt, módosítást, törlést.
A másik adattábla a Lockout, amely egyetlen logikai mezővel (Lockout) és mindössze egyetlen sorral rendelkezik. Ezt a táblát használjuk arra, hogy a rendszergazda-program és a felhasználói oldal kommunikálni tudjanak egymással.
A Lockout mező értékét csak a rendszergazda-program módosítja. Ha az értékét igazra állítjuk, az azt jelenti, hogy a felhasználóknak ki kell lépnie a Test.db táblából, egészen addig, még a mező értéke ismét hamis nem lesz.
A felhasználói oldalon, a Lockout mező értékét egy Timer komponens segítségével folyamatosan figyeljük. A mellékelt példában a Lockout táblához a Table2 komponens segítségével csatlakoztunk.
Mielőtt bármilyen műveletet végeznénk, frissítenünk kell a Table2 tartalmát.
Amikor a rendszergazda a Lockout értékét igazra állítja, ideiglenesen kiléptetjük a felhasználót a táblából, és jelzést adunk neki, hogy a rendszergazda letiltotta az adatbázis használatát.
if (Table2.FieldByName('Lockout').Value) and (Table1.Active=True) then begin
FBookmarkStr:=Table1.Bookmark;
Table1.DisableControls;
Table1.Close;
Label1.Visible:=True;
end;
A DisableControls utasítással lekapcsolunk a tábláról minden adatbázis kontrolt, majd bezárjuk a táblát. Ha azt akarjuk, hogy kizárás végeztével, majd a Test.db tábla újra megnyitása után a rekordmutató a megfelelő helyre kerüljön, akkor egy TBookmarkStr típusú változóba fel kell jegyeznünk a tábla könyvjelzőjét.
Ha a rendszergazda befejezte a munkát és visszaengedte a felhasználókat, akkor az adatbázis kontrolokat vissza kell kapcsolnunk, majd vissza kell állítanunk a rekordmutatót a megfelelő helyre az elmentett könyvjelző alapján.
A mellékelt példában csak egyetlen táblát használtunk, de a művelet logikája ugyanaz, akárhány táblánk van.