LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Триггеры ...
 Тема: Триггеры в Access
 
 15.06.2007 21:08:40
All
4316 сообщения
1-ый


Тема: Триггеры в Access
Как отловить событие изменения данных в таблице на уровне самой таблицы?
Триггеры в Access не поддерживаются, насколько я понимаю.
При изменении данных в таблице в базе Access внешняя программа должна выполнять определенные действия. Можно ли (внешняя программа соединяется Access через ADO) отловить изменение данных без чтения всех строк в таблице каждую минуту?



P.S. Общий раздел по таблицам
Автор: Света от 0:00:00 Источник ...
 15.06.2007 21:08:40
All
4316 сообщения
1-ый


RE: Триггеры в Access
1. Такая возможность в Microsoft Access есть. Подчеркну, что речь идет об объекте-таблица, а не об объекте-форма, которая вызывается в табличном виде.
2. Посмотреть как это работает можно. Например, откройте 1 статью по ускоренному программированию. Там есть возможность просмотреть справочник ввиде таблицы (см. кнопку со списком команд). Откройте таблицу и курсор установится в таблице на текущей записи формы-справочника. Перейдите в таблице на другую запись и потом закройте ее, запись в форме-справочнике будет синхронизирована с записью таблицы. Т.е. события таблицы перехватываются. Для контроля добавьте в таблицу еще 100-200 полей. Все будет работать по прежнему.
3. Таким образом, можно управлять таблицами, имеющими много полей. Как это реализовать, в конференции нельзя рассказать, т.к. это программа - коммерческая.


P.S. Общий раздел по таблицам
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:08:40
serhy
1 сообщения


RE: Триггеры в Access
Цитирую:
(http://www.eduhmao.ru/fatwire/SparkData/bin/100472.htm)

"...На уровне ядра Jet в Microsoft Access 2000 триггеров нет! Хотя это решение напрашивалось само собой уже давно, Microsoft не стала наращивать Jet до триггеров. На мой взгляд, это продиктовано чисто коммерческими соображениями и связано с желанием Microsoft стремительно продвигать на рынок технологии, использующие SQL Server 7.0. Ведь если довести до ума Access, то многие пользователи к SQL Server не обратятся никогда в жизни. А на самом деле очень логично было бы разрешить, скажем, объекту Jet TableDef иметь при себе модуль (так же как у объекта Form), в котором можно было бы писать обработчики типа BeforeInsert, BeforeDelete или OnUpdate. Но, увы, увы... Да, кстати, в документации по Access триггером иногда называется группа кнопок, выполняющих функции переключателей – так это не те триггеры, не те...

И в то же время, возможность использовать триггеры в Access 2000 есть. Но не радуйтесь, поклонники Access 97 и более ранних версий. Сейчас я напишу, какой ценой это достигается. Microsoft теперь считает, что время Jet прошло и настала очередь больших корпоративных СУБД. Таких как SQL Server 7.0. Предусмотрено постепенное вытеснение Jet технологиями клиент-сервер. Появилось новое ядро баз данных MSDE (Microsoft Database Engine), очень тесно совместимое с SQL Server 7.0, практически это сильно усеченный SQL Server. Работая через это ядро можно хранить данные в формате SQL Server 7.0. Именно это рекомендуется делать тем, кто хочет иметь триггеры в Access 2000.

Коротко напишу, что надо сделать, чтобы заставить MS Access 2000 работать через MSDE.

1. Установить MSDE, который не является частью MS Office 2000, но имеется на CD#1 (нужен Office 2000 Professional, Developer или Corporative Edition): \Sql\X86\Setup\Setupsql.exe. MSDE занимает около 55 MB на диске при локальной установке + кое-что он копирует в системные директории. Его можно также установить на удаленный компьютер, но какая-то часть компонентов все равно при этом должна находиться на Вашем компьютере.

2. Загрузить в Access 2000 Вашу БД, которую Вы хотите конвертировать в формат SQL Server 7.0, и запустить Upsizing Wizard (найдете в меню Tools | Database Utilities). Предварительно очень рекомендуется почитать HELP. Wizard сделает все, что нужно, Ваша БД будет храниться далее в формате MS SQL Server 7.0, а не в mdb-файле. В Access вместо mdb Вы будете загружать файл проекта adp.



P.S. Общий раздел по таблицам
Автор: serhy от 29.03.2005 12:41:23 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Триггеры ...
ПоискПоиск  Список форумовСписок форумов  
right