Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Триггеры в Access2000 / 25 сообщений из 29, страница 1 из 2
21.05.2003, 14:20
    #32165117
Новичок21
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Люди подскажите как создать триггер в MS Access 2000???
...
Рейтинг: 0 / 0
21.05.2003, 14:32
    #32165134
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Ну если проект ADP подключен к серверу, то клацни правой кнопкой мышки по таблице...
...
Рейтинг: 0 / 0
21.05.2003, 14:34
    #32165138
pv
pv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
ну а если MDB то тоже правой кнопкой по таблице, а там триггер.
...
Рейтинг: 0 / 0
21.05.2003, 14:43
    #32165153
Новичок21
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Большое спасибо
...
Рейтинг: 0 / 0
21.05.2003, 14:46
    #32165160
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Только ты триггер не в аксесе создаешь, а на сервере MSSQL. В аксесе только редактор.
...
Рейтинг: 0 / 0
21.05.2003, 14:59
    #32165176
Новичок21
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
А в Accesse можно создать??? или он не поддерживает триггеры
...
Рейтинг: 0 / 0
21.05.2003, 15:01
    #32165180
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Код: plaintext
1.
2.
                                       НЕТУ В АКЕСЕ-MDB ТРИГГЕРОВ!
                                      НЕТУ.НЕ ИЩИТЕ. НЕ МУЧАЙТЕСЬ.
...
Рейтинг: 0 / 0
21.05.2003, 15:01
    #32165181
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Не просто не поддерживает, но вообще не знает, что это такое.
...
Рейтинг: 0 / 0
21.05.2003, 15:02
    #32165183
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2pv
Смени у своей мышки правую кнопку, а то щелкнешь еще раз и создашь вычисляемый столбец или индексированную вьюху.
...
Рейтинг: 0 / 0
21.05.2003, 15:20
    #32165222
pv
pv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2 Senin Viktor:
Ну погоречился, наврал.....
...
Рейтинг: 0 / 0
21.05.2003, 15:22
    #32165227
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
по определению Гетца
теперь в mdb можно
создать что-то подобное
триггерам
назвается это check,
причем с проверкой нескольких
таблиц
вроде круто
даже скажу в каком
месте книги об этом
говорится стр.163 (А2002 т.1)
об этом и в справке по аксессу
тоже есть пример
создания check-ов на таблицу
причем check-ов может
быть несколько
но на самом деле
как не пытался создать
не получилось
может кто-нибудь
попробует эти примеры
с удовольствием обсудю
...
Рейтинг: 0 / 0
21.05.2003, 15:22
    #32165228
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Бывает...

З.Ы.
Можешь правую кнопку мышки не менять
...
Рейтинг: 0 / 0
21.05.2003, 18:57
    #32165506
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Хам Трамвайный
>
по определению Гетца
теперь в mdb можно
создать что-то подобное
триггерам
назвается это check,
...
как не пытался создать
не получилось
может кто-нибудь
попробует эти примеры
с удовольствием обсудю


Глава называется "Расширения Jet 4 ANSI SQL-92"
Щас буду пробровать на mdb.
...
Рейтинг: 0 / 0
21.05.2003, 21:56
    #32165579
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Хаму Трамваййному
>может кто-нибудь попробует эти примеры с удовольствием обсудю

Попробовал. получилось. Я уж подробно разверну обсуждение.
Необходимо чтобы формат базы данных по-умолчанию был 2002, и стояла галочка на Синтаксис SQL Server ANSI SQL92

Код: plaintext
1.
2.
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection

Создадим таблицу
Код: plaintext
1.
2.
3.
4.
cnn.Execute 
 "CREATE TABLE t3 (ID_PRIM  AUTOINCREMENT (1999 , 47 )PRIMARY KEY ,
Q LONG, 
CONSTRAINT Q_LIMIT3 CHECK (Q BETWEEN  9  AND  14 ));", , adExecuteNoRecords

Теперь у таблицы появилось свойство CheckConstraints Q_LIMIT3 Q BETWEEN 9 AND 14. (если смотреть через ДАО).Полученное ограничение нельзя изменить (с помощью ДАО, во всяком случае) - только с помощью ALTER TABLE...
Так же пока не удалим ограничение Q_LIMIT3, нельзя будет удалить таблицу!! Прикольный эффект.
Как пример, инструкция AUTOINCREMENT - новая возможность назначить приращение счетчика (в примере с 47) и с какого числа начать нумерацию (в примере с 1997)

'удалить ограничение можно
Код: plaintext
1.
2.
cnn.Execute 
 "ALTER TABLE t3 DROP CONSTRAINT Q_LIMIT3;" , , adExecuteNoRecords


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


'Задать к уже существующей таблице
Код: plaintext
1.
2.
3.
4.
cnn.Execute 
 "ALTER TABLE t3 ADD CONSTRAINT t_limit999  CHECK (Q2 > Q);" , ,adExecuteNoRecords

cnn.Execute  "ALTER TABLE t3 ADD CONSTRAINT t_limit666  CHECK (Q2 <=( ID_PRIM+4 ) );", , adExecuteNoRecords


Сделать в CHECK "Select ...From ДругаяТаблица" как у Гетца (стр.163 том 1) у меня не получилось, да и в BOL написано, что
Logical_expression used with CHECK constraints cannot reference another table but can reference other columns in the same table for the
same row.

По-русски: ограничение не может ссылать на другие таблицы, но может ссылаться на стобцы собственной таблицы.
Так что или Гетц заблуждается либо у меня кривые руки, но в любом случае в случае переноса на MS SQL это ограничение работать не стало бы.
Я использовал ADODB.Connection по привычке, можно и другими способами, в т.ч. через сохраненые управляющие запросы Акеса.

==
Акес2002+СП2, MDAC 2.7 SP1, Jet SP6, WinXP+SP1
...
Рейтинг: 0 / 0
22.05.2003, 10:34
    #32165796
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
как приятно поговорить
с человеком как Сенин Виктор
и аксесс у него новый стоит
и операционка последняя
и сервис паки новые
есть с чем сравнить
и поговорить
а то 2 года назад
прям поговорить
было не с кем
по А2002
теперь хоть и по adp
инфа появилась
(хотя мне уже по фиг
все было набито и обломано
в 2000 году, когда сам
сидел на adp, как ежик
в тумане)
...
Рейтинг: 0 / 0
22.05.2003, 10:47
    #32165825
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Весь пример работает и на Акес2000+СП3 (mdb), MDAC 2.5, Jet +SP хрен знает какой, Win2000+SP2

Странно, опять Гетц наврал (2-й раз за сутки :) ).
Хотя чего странного - эта фича из Jet 4.0. Тогда зачем Гетц про ANSI92 распинался? Поставь галочки там-то, включи то-то.
Господа, осталось проверить работает ли данная фича в акесе2002 без установленной совместимости с ANSI92 - и можно кричать Гетц -АтСтой (шутка )

З.Ы.
Вот счастье-то привалило - CHECK ставить - правда несколько недостатков: сложность управления оными и невозможность выводить сообщения пользователю в удобочитаемом виде.
...
Рейтинг: 0 / 0
22.05.2003, 10:54
    #32165838
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
простите, а гетц 2 часть в москве есть? по чём?
...
Рейтинг: 0 / 0
22.05.2003, 11:03
    #32165851
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Артист

есть, зимой стоила от 500 рубчиков. Ищи в интернет-магазинах текущие цены.
...
Рейтинг: 0 / 0
22.05.2003, 11:09
    #32165859
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Про Гетца в Москве:\r
\r
/topic/32797\r
\r
А потом Ctrl-F и наберите "Медведково".
...
Рейтинг: 0 / 0
22.05.2003, 11:28
    #32165882
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
спасибо, за инфу

я обычно в олимпийском закупаюсь... там вроде всё есть....
...
Рейтинг: 0 / 0
22.05.2003, 11:32
    #32165892
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
Артисту
я тоже так думал до осени
по поводу Олимпийского
пока сам продавца
не спросил
они честно сказали
что к ним книги
поступают в самую
последнюю очередь
сначала по издательствам
потом по магазинам
а уж в последнюю
очередь на рынок
...
Рейтинг: 0 / 0
22.05.2003, 11:33
    #32165896
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Артист
А разве книжную ярмурку в Олимпийском не закрыли?
...
Рейтинг: 0 / 0
22.05.2003, 11:35
    #32165901
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Senin Viktor

я в москве редко бываю... 2 апреля последний раз был - работала вовсю...
что уже закрыли?? :((
...
Рейтинг: 0 / 0
22.05.2003, 11:39
    #32165906
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Хам трамвайный

не знаю, я вроде бы в апреле там купил книгу, хотя на официальном сайте "русской редакции" она стояла - "готовится к продаже" - цены нет...
...
Рейтинг: 0 / 0
22.05.2003, 11:41
    #32165909
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Триггеры в Access2000
2Артист

Я-то был еще раньше - просто в Лужков обещал по-закрывать все базары в спортивных учреждениях, в т.ч. и в Олимпийском, только он обещал закрыть все в январе... Если не закрыл - значит соврал
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Триггеры в Access2000 / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]