Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизМетод на обсуждение, рефреш датасета измененного копией программы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c