Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Метод на обсуждение, рефреш датасета измененного копией программы   Найти похожие ветки 

 
sniknik ©   (2002-07-17 12:19) [0]

Нужно узнавать об изменениях в базе сделанных копией приложения, и соответственно рефрешить датасеты.
Единственное что пришло в голову дополнительная таблица с флагом, при изменениях в базе к флагу добавляется еденичка а в копиях проверка по времени если флаг в программе меньше чем в базе то пора обновится.
На случай если копия будет запускатся из сети (не предусматривалось но возможно) хочу вынести таблицу с флагом из базы в dbf-ник, чтобы при опросах вся база по сетке не дергалась.

И вот теперь когда почти все готово возник вопрос, а не изобретаю ли я велосипед? Может есть стандартные методы, а я не в курсе. Как сам Access это делает? И хотелось бы узнать правомочность метода, может лутше чего посоветуете?


 
Ильдар   (2002-07-17 15:46) [1]

answer please!!!


 
sniknik ©   (2002-07-17 15:57) [2]

Эт ты мне? или так в общем по вопросу?


 
Ильдар   (2002-07-17 15:59) [3]

всем кто знает как и знает где узнать как


 
sniknik ©   (2002-07-17 17:20) [4]

Все просто до идиотизма,
любое изменение записи в любой таблице ведет к изменению даты/тайма в признаках файла (самого *.MDB файла, свойство изменен) судить можно по этому,
сохранять в программе время последнего изменения и сравнивать с текушим. (время компа в расчет брать нельзя изза разнах времен в сети).


 
Sergey13 ©   (2002-07-18 09:09) [5]

2sniknik © (17.07.02 17:20)
Конгениально!!!
Есть 2 таблицы(на практике обычно больше). Изменение в 1-ой изменят время файла и вызовут обновление по датасету на 2-ю таблицу. Особенно приятно будет работать с базой по сети. 8-)
По вопросу - что за копии программы на одном компе работающие с базой. Поподробнее, плиз, можно.


 
fnatali ©   (2002-07-18 09:29) [6]

По-моему в Access есть полноценная (или неполноценная?) репликация данных...


 
sniknik ©   (2002-07-18 10:29) [7]

Меня похоже неверно поняли (а я старался правильно донести, неудалось :-).

Во первых база у меня одна (mdb файл) всегда и везде. Во вторых для сети программа не предусматривалась и это оговорено с заказчиком. Просто както так получилось что удобнее на том же компе запустить копию (именно программы .exe, и подключится она к тому же MDB что и оригинал) и работать с 2-3 копиями, чем закрывать и вновь открывать путевой лист в одной.
А нужно чтобы изменения в одной копии отражались в другой (визуально). И это этим методом решается. И даже больше (в отличии от первого мной предложенного метода) я увижу изменения сделанные всякими посторонними программами Access-ом например :-).

И даже если запустить прогу из сетки то проверить время базы гораздо выгоднее чем считавать хотя бы одно значение из нее. Access не сетевая база и не SQL server а это значит, что для считывания даже 1 значения потянет всю базу к себе. А вот проверить время файла можно и не открывая его, считывая значение из структуры файлов (насколько я помню дос и ДискЕдит) и похоже дельфийская FileAge так и делает (пока я читал ей каталог соседнего компа заметного увеличения трафика не наблюдал).

Ну в общем вот, высказавайте мнения (вариант с сеткой прошу не рассматривать тут чем хуже тем лутше, может sql купят какойнибудь хотя тут не проблема sql можно и MySql использовать а проблема "кто его обслуживать будет?" или вернее выделят ли деньги на администратора)
уф. все. надеюсь сейчас понятнее :-)



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

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
8-24137
Deus
2002-03-28 16:12
2002.08.08
live 5.1


14-24185
SleD
2002-06-06 09:17
2002.08.08
Интересно, кто что думает по поводу пива?


1-24008
eruc
2002-07-28 18:14
2002.08.08
hints (при неактивной форме)


1-24081
URustam
2002-07-26 13:57
2002.08.08
Название компонента.


4-24279
777
2002-06-02 20:44
2002.08.08
Ctrl+r