Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-52276
ИМХО
2003-12-04 08:41
2003.12.16
Пример рекурсии


3-52109
Vemer
2003-11-22 14:22
2003.12.16
IBX 6.08 и SQL 3


3-52064
RAM
2003-11-25 17:55
2003.12.16
помогите с запросом


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


1-52187
timak
2003-12-02 20:43
2003.12.16
КАК перевернуть QRLabel?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский