Вниз
Скачать: CL | DM;

динамическая база   Найти похожие ветки 

 
:: Hamster ::   (2002-08-30 08:16) [0]

Значит вопрос такой:
Три машины - Склад, Касса, Сервер
база лежит на сервере.
При списании с "Кассы" в базе делаются изменения.
Как сделать сделать update на складе.
Т.е Автообновление..
На кассе в конец процедуры списания можно просто дописать
ibdatabase.applyupdates;
Но как получить энти изменения на складе ?!
Создать таймер и каждые 5 минут делать ibdatabase.close; ibdatabase.open;..пока нечего умнее я не нашёл..


 
Alexandr ©   (2002-08-30 08:39) [1]

примерно так и надо делать.
А вообще, надо на складе кнопку сделать "обновить позицию в справочнике".
Да еще и обновлять позицию каждый раз когда начинает работать с этой позицией.
Заметь, одну позицию, а не весь набор данных, поэтому это очень быстро будет.
Это refresh для IBX(с закладки Interbase)


 
-=Sergeante=- ©   (2002-08-30 09:38) [2]

Делается это с помощью сообщений. Н-р:

CREATE TRIGGER AU_SKLAD FOR SKLAD
ACTIVE AFTER UPDATE POSITION 0
as
begin
post_event "SKLAD_update";
end


Клиентское приложение принимает сообщение от сервери IB (компонент IBAlert кажется) и делает нужные действия.


 
Alexandr ©   (2002-08-30 09:52) [3]

а какие могут быть действия? только переоткрыть таблицу...


 
int64 ©   (2002-08-30 11:26) [4]

Я сделал обновление локальных данных по реакции на post_event. Также внял чужому совету и перестраховался таймером на клиенте, который раз в 10 сек. считывает флаги с сервера.
Так вот, за пол года эксплуатации БД, таймер ни разу не инициировал обновлений. :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-61158
Александр
2002-09-07 13:12
2002.09.19
ListView и Keys


8-61217
charlie
2002-05-18 19:49
2002.09.19
О причине мигания экрана при рисовании


1-61108
Andre V.
2002-09-04 09:55
2002.09.19
Работа с DLL


14-61282
AlekseyK
2002-08-23 16:23
2002.09.19
Free Logo


3-60972
serg1977
2002-08-28 16:23
2002.09.19
Какую использовать компаненты ?




   Наверх