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

Вниз

Лог изменений в таблице   Найти похожие ветки 

 
Devourer   (2003-11-24 14:36) [0]

Есть таблица DBF.Юзеры меняют ее(добавляют,изменяют, удаляют записи).

Надо вести лог такого вида:

(дата)(время) (изменение) записи (ID записи)

Ясно, что прога резидентная, обновления по таймеру.Вопрос в главном- как отслеживать изменения?(хранить последнюю копию таблицы и сравнивать с ней?)или есть более быстрые пути?

Спасибо


 
Reindeer Moss Eater ©   (2003-11-24 14:38) [1]

И в чем смысл?


 
Devourer   (2003-11-24 14:39) [2]


> Reindeer Moss Eater © (24.11.03 14:38) [1]
> И в чем смысл?

жизни?


 
Reindeer Moss Eater ©   (2003-11-24 14:40) [3]

Смысл твоей задумки в чем? Что это даст кроме помехи для пользователей?


 
Stas ©   (2003-11-24 14:41) [4]

На событие BeforeDelete записываешь в спец. таблицу нужные параметры, на BeforeEdit и т.д. Получается своего рода триггер.


 
Reindeer Moss Eater ©   (2003-11-24 14:43) [5]

Ага. Щазз.
Ему надо в своей программе вести лог изменений вносимых третьей программой


 
Devourer   (2003-11-24 14:47) [6]

нужен не лог как конечная цель - это скорее побочный эффект.
Смысл вкратце в следующем: есть клипперская прога, в которой формируются документы в виде записей в табл.
Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней скажем, за последние 5 минут, и по результатам изменений формировать новые документы.


 
Reindeer Moss Eater ©   (2003-11-24 14:49) [7]

И ради этого ты будешь мешать работе самих пользователей?


 
Devourer   (2003-11-24 14:50) [8]


> Reindeer Moss Eater © (24.11.03 14:43) [5]
> Ага. Щазз.
> Ему надо в своей программе вести лог изменений вносимых
> третьей программой

Вы все правильно поняли


 
Devourer   (2003-11-24 14:52) [9]

мешать конечно хотелось бы как можно меньше -потому и задаю вопрос


 
Reindeer Moss Eater ©   (2003-11-24 14:56) [10]

и по результатам изменений формировать новые документы.

В чьей программе должны формироваться новые документы?


 
Devourer   (2003-11-24 14:56) [11]


> В чьей программе должны формироваться новые документы?

в моей


 
Reindeer Moss Eater ©   (2003-11-24 14:59) [12]

Может тогда сменить весь техпроцесс?

Зачем программа на клиппере? Только для ввода данных в таблицу, что бы потом по этм данным сформировать новые документы?
Кстати, в этой же таблице?


 
DenK_vrtz ©   (2003-11-24 15:00) [13]

>Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней

может лучше прогу без чудес написать?


 
Devourer   (2003-11-24 15:04) [14]

Эх если б можно было б сменить техпроцесс- не надо было бы огород городить.
Клипперская прога -базовая система, а я к ней надстройку леплю.
И саму таблицу я не меняю - только снимаю изменения.


 
Reindeer Moss Eater ©   (2003-11-24 15:05) [15]

Тогда лучше ничего не мониторить, а запускать формирователь по расписанию


 
Devourer   (2003-11-24 15:10) [16]


> Reindeer Moss Eater © (24.11.03 15:05) [15]
> Тогда лучше ничего не мониторить, а запускать формирователь
> по расписанию


Согласен, но это не принципиально(частота раз в 10 мин меня устраивает)
Вопрос так и остался - как выделить измененные записи


 
Reindeer Moss Eater ©   (2003-11-24 15:14) [17]

Я бы не стал оперировать непосредственно с этой таблицей.
Импортнул бы ее (например на SQL сервер).
Далее выяснил бы все произошедшие изменения по сравнению с предыдущим импортом (скорее всего прямо на сервере)
Ну и сформировал бы документы


 
Devourer   (2003-11-24 15:17) [18]

Спасибо, Reindeer Moss Eater.
Значит я на верном пути


 
Oleg_em   (2003-11-24 15:19) [19]

если ни в одном поле DBF-ки нет данных о времени внесения изменений то тока одно:
1. делать копию текущей базы скажем BACK_OLD.dbf
2. через 10 минут делать новую копию BACK_NEW.dbf
3. сравнивать каждую запись по нужным полям, делать отчет об изменениях
4. копировать BACK_NEW в BACK_OLD
5. итти на пункт 2

а записей то много ?



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

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

Наверх




Память: 0.51 MB
Время: 0.013 c
3-52081
RAM
2003-11-24 18:20
2003.12.16
количество записей


14-52333
NeyroSpace
2003-11-24 09:46
2003.12.16
Автоматизация действий


3-52065
{bas}
2003-11-24 19:04
2003.12.16
Пройти все строки Query при fetch


1-52178
Olivka
2003-12-02 10:04
2003.12.16
FastReport


1-52207
romychk
2003-12-02 11:02
2003.12.16
Не завершает работу программа