0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 17
|
|
1 | |
Поиск по БД Access04.05.2011, 10:27. Показов 1605. Ответов 6
Метки нет (Все метки)
Здравствуйте, у меня такой вопрос, задание в инсте дали вот такое:
Допустим я 30.04.2011 работал с Базой и производил следующие действия УДАЛЕНИЕ, ДОБАВЛЕНИЕ, РЕДАКТИРОВАНИЕ... Сегодня я решил посмотреть по заданной дате что, происходило... Допустим я решил посмотреть, что делалось 30.04.2011 и у меня должно высветиться только те данные в базе, которые были актуальны в этот день 30.04.2011 То есть ВСЕ данные бызы которые я редактировал, добавлял и удалял... Извиняюсь за недопонимание, но я сам толком понять не могу, это типа реестр что ли и как хоть примерно, если вообще можно это реализовать на Delphi, заранее спасибо!
0
|
04.05.2011, 10:27 | |
Ответы с готовыми решениями:
6
Поиск по Access Поиск по БД Access Поиск в access Поиск в БД access |
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
04.05.2011, 10:45 | 2 |
Вообще, когда-то чего-то неясно, проще уточнить у преподавателя, ибо для чтения мыслей нужен хрустальный шар.
Лично я бы интерпретировал это задание так. Есть таблица, с которой происходит работа (к примеру, наличие товаров на складе). В ней у каждой строки есть дата/время операции с этой строкой. Кроме того, заводится историческая таблица, в которой тоже есть дата/время и признак операции (U / D). Если производим UPDATE, то предыдущую версию строки переписываем в историческую таблицу, если DELETE - тоже. Таким образом, если мне нужно узнать, какие операции были на 30.04, я вставленные и неизмененные (у которых дата модификации < 30.04) вытаскиваю из основной таблицы, а измененные и удаленные - из исторической. Правда тут вопрос, что показывать, если одна строка за день изменялась несколько раз, но это как раз один из тех вопросов, которые надо уточнить. Можно все эти штуки хранить и в одной таблице, руля статусами записей, но это более геморойно. В нормальных СУБД перепись из основной таблицы в историческую делается на триггерах, как в Access - непонятно, хотя если работа с БД не многопользовательская, то можно это делать в рамках процедуры (т.е. при UPDATE сначала перепись (INSERT) в историческую, а потом UPDATE основной)
1
|
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 17
|
|
04.05.2011, 11:51 [ТС] | 3 |
Угу спасибо, тогда пока буду разъяснять что до как, думаю если изменений со строкой было несколько, то тогда, только по последнему изменению, вот, а так получается нужно создать еще одну таблицу "История" в которую будут записываться действия которые были применены к той или иной строке или там будут записываться строки которые изменяли? и триггеры только c БД SQL работают, а Access не поддерживает, я все правильно понял?
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
04.05.2011, 12:02 | 4 |
Насчет поддержки триггеров в Access - это мое предположение, лучше спросить в соответствующем форуме. А так все верно, но я бы уточнил вообще постановку задачи, поскольку высказанное - только мое предположение, основанное на реальном опыте
1
|
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 17
|
|
04.05.2011, 12:19 [ТС] | 5 |
А не подскажете в каком соответствующем форуме, можно спросить?
0
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,255
|
|
04.05.2011, 12:30 | 6 |
На этом сайте есть раздел Базы данных и в нем подраздел MS Access
По обсуждаемой теме: задача, которую Вы решаете относится к задачам логирования (журналирования) событий изменения объектов БД. При этом как правило фиксируют все изменения, происходящие с БД. Действительно, для решения подобных задач самое удобное использовать аппарат триггеров.
0
|
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 17
|
|
04.05.2011, 12:38 [ТС] | 7 |
Ага, спасиб, перехожу туда!
0
|
04.05.2011, 12:38 | |
04.05.2011, 12:38 | |
Помогаю со студенческими работами здесь
7
Поиск в БД Access Поиск в access поиск в бд access Поиск в БД Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |