-
Доброго времени суток. Пытаюсь получить дату изменения таблицы MDB из системной таблицы MSysObjects запросом вида:
SQL.Add('SELECT DateUpdate from MSysObjects where MSysObjects.name=\"'+tablename+'\"');
Сама таблица TableName обновляется методом: сначала все стирается , потом добавляются данные автоматом в копируются в таблицу из другого источника;
ADOQuery1.SQL.Add('delete * from '+tablename);
Так вот DateUpdate не меняется ни в каком случае, кроме как если вручную отрыть MDB через Access и что то там в таблице поправить. Если удалять, создавать через SQL запрос, дата не меняется. Как правильно получить последнюю дату изменения таблицы.
-
1. Создай таблицу с полем "Время последнего изменения данных таблицы xxx" 2. Создай триггеры на Insert, Update, Delete таблицы xxx 3. В триггерах ставь Update поля "Время последнего изменения данных таблицы xxx" с текущим временем.
-
> Ega23 (26.11.2012 16:43:01) [1]
У MDB нет триггеров, это файл-серверная СУБД
-
> Так вот DateUpdate не меняется ни в каком случае, кроме как это изменение таблицы, структуры, а не данных в ней.
-
всем спасиб, короче кроме как создавать избыточную таблицу с полем даты, выдрать дату изменения из самой таблицы нельзя?
-
> это изменение таблицы, структуры, а не данных в ней.
Нет, в аccess меняю именно данные, не структуру. И DateUpdate меняется
-
меняется-то не магическим волшебством, а программным кодом акцесса. а в твоей программе этого кода нет.
-
> не магическим волшебством
> этого кода нет
ну и бог с ним
-
> de_guta (26.11.2012 18:27:07) [7]
Тогда ты что потрепаться пришел?
-
> Медвежонок Пятачок © (26.11.12 18:04) [6] > > меняется-то не магическим волшебством, а программным кодом > акцесса.
И не в таблице, а в "документе аcces".
-
> Нет, в аccess меняю именно данные, не структуру. И DateUpdate меняется проверил, добавил запись, изменил в ней данные, DateUpdate не меняется.
> меняется-то не магическим волшебством, а программным кодом акцесса. если только чем то написанным на аксессе (форма/скрип/...), сам он собственно (отрыть как базу, таблицу) ничего не меняет.
|