Clarion 6 + trigger

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Tris
Новичок
Сообщения: 7
Зарегистрирован: 14 Апрель 2009, 18:32

Clarion 6 + trigger

Сообщение Tris »

кто работал в Кларион 6 с триггерами?
не могу понять почему не хочет работать.
1. открываю Кларион
2. запускаю Дата Моделлер
3. создаю в ДМ словарь, две таблицы по несколько полей в каждой, ключи
4. создаю в одной из таблиц пустой триггер на AFTER INSERT
нажимаю експорт в текущее приложение и получаю ошибку 13 - требуется идентификатор. ссылка идет на строку [SOURCE]

вот кусок кода из txd
...
[TRIGGERS]
[TRIGGER]
!!> AFTER_INSERT
-> [SOURCE]
! ! Executes AFTER INSERT Code
! IF ~ErrorCode()
! begin
! !Place Clarion Code here
! end
! END !of Trigger Code After Insert
...
где что надо покрутить чтобы работало?
Vladimir
Посетитель
Сообщения: 33
Зарегистрирован: 19 Октябрь 2005, 14:38

Re: Clarion 6 + trigger

Сообщение Vladimir »

в examples есть пример работы с триггерами: "A detailed example application (TRIGPUBS.APP) and associated dictionary that demonstrates this new feature can be found in the \(Clarion Root)\EXAMPLES\TRIGGERS folder." посмотри, может поможет..
Tris
Новичок
Сообщения: 7
Зарегистрирован: 14 Апрель 2009, 18:32

Re: Clarion 6 + trigger

Сообщение Tris »

дело в том что по этому примеру и изучал как бы триггеры. посмотрел и сравнил исходники txd у себя и в примере. все точно так же. только у меня выдает ошибку.
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Clarion 6 + trigger

Сообщение morkovin »

2. запускаю Дата Моделлер
Никогда даже не пробовал создавать триггеры в DM.
Создаю их прямо в DCT...
WBR, morkovin
Tris
Новичок
Сообщения: 7
Зарегистрирован: 14 Апрель 2009, 18:32

Re: Clarion 6 + trigger

Сообщение Tris »

пробовал и в самом кларионе в DCT создавать, разницы по сути нет. в первом случае при открытии либо ошибку выдает, либо ничего не делает.
какие должны быть условия работы триггеров?
какой должны быть связи в таблицах, и поля для обновления чтобы работали триггеры?
или связи таблиц и полей не имеют значения?
может какие переменные надо вносить дополнительно? или ембдеды какие прописывать в формах?

попробовал просто назначить ембдед кнопке ОК при аксесе. написав код типа:
Таблица2:номер = Таблица1:номер_2 ----- взял из формы ввода номер и присвоил его значение номеру в таблице2 (типа связь по номеру товара)
Таблица2:остаток += Таблица1:количество ----- прибавить к значению в таблице2 по адресу Таблица2:номер значение которое взял при вводе
Access:Таблица2.Update() ---- обновить значение таблицы2

толку от этого никакого. кто что еще может посоветовать?
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Clarion 6 + trigger

Сообщение morkovin »

попробовал просто назначить ембдед кнопке ОК при аксесе. написав код типа:
Таблица2:номер = Таблица1:номер_2 ----- взял из формы ввода номер и присвоил его значение номеру в таблице2 (типа связь по номеру товара)
Можно было бы проверить доступность записи Таблицы2
IF Access:Tablica2.Fetch(Key_Tablica2_Nomer)= Levele:Benign THEN !тогда обновим
Таблица2:остаток += Таблица1:количество ----- прибавить к значению в таблице2
Access:Таблица2.Update() ---- обновить значение таблицы2
ELSE !добавим запись в таблицу2
!присвоим значения полей таблицы2
...............................
Access:Таблица2.TryInsert()
END
WBR, morkovin
Ответить