|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Всем привет! У меня вопрос по Oracle Forms 6i. Форма состоит из 2-х блоков. Верхний основной блок формируется из таблицы test1, а второй test2. Эти две таблицы связаны между собой с каскадным удалением. Подскажите, пож-та, как удалить записи из двух таблиц при нажатии на кнопку "Удалить" из формы? есть ли встроенные функции? Чтоб один раз нажал на кнопку удалить и запись удалилась из БД, а форма показывала следующую запись, если след. записи нет, то обновить форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 13:22 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
А что конкретно вы пробовали для реализации этой задачи, можно поинтересоваться? Например, что у вас скрывается за загадочной кнопкой "Удалить" (пока нашёл, где она - чуть глаза не сломал). По вашему скриншоту догадываться о том, что вы там наворотили - это к экстрасенсам. Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading. Или у вас master-detail реализован через какой-то собственнопридуманный велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 10:58 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
В общем relation между таблицами БД уже реализован, т.е. если через PL/SQL Developer удалить запись из таблицы test1, то дочерние записи из test2 удаляются... Надеюсь это я правильно выразил... Следующее, в данный момент при нажатии на кнопки "Удалить"(см. рисунок с лупой) ничего не реагирует. При создании формы Oracle Forms предлагает меню для удаления записей, но почему-то с помощью этой меню "Удалить" приходится два раза делать удаление одной записи, т.е. два раза нажимаешь этот меню - при первой нажатии меню Oracle Forms дает сообщение авторOFG-22: Нажмите [Delete Record] еще раз для подтверждения каскадного удаления! После еще раз нажимаю этот же меню "Удалить" и после чего запись удаляется. Но это для пользователей не удобно и я хотел на форме поставить кнопку "Удалить", чтоб при нажатии этой кнопки лишних сообщений не выводил, а удалил запись из БД. Надеюсь теперь все понятно описал ситуацию... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 11:57 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Ну и кто мешает по этой кнопке вызвать оператор SQL DELETE ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 12:04 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
не работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 13:53 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Ulan Djamanbalaevне работает! Очень информативное сообщение. Хрустальные шары, к сожалению, замерзли ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 15:43 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Какие-то у вас загадочные сообщения появляются. Можете проиллюстрировать скриншотом ваше: "OFG-22: Нажмите [Delete Record] еще раз для подтверждения каскадного удаления"? - При установке в свойстве relation Delete Record Behavior = Cascading, Forms добавляет достаточно простой триггер PRE-DELETE на блок, в виде: Код: plsql 1. 2. 3. 4.
И это работает вполне нормально. Проверено неоднократно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2012, 11:29 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Ulan Djamanbalaev, Судя по коду ошибки "ofg-22" - это не оракловское сообщение - гляньте не переписан ли у вас тригер key-delrec.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 20:27 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
-=APS=-При установке в свойстве relation Delete Record Behavior = Cascading А где находится это свойство? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 09:47 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Ulan DjamanbalaevА где находится это свойство? Хм... Вы не смогли найти такое свойство? Я ведь уже задавал вам вопрос: Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading. Или у вас master-detail реализован через какой-то собственнопридуманный велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 11:12 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
-=APS=-Ulan DjamanbalaevА где находится это свойство? Хм... Вы не смогли найти такое свойство? Я ведь уже задавал вам вопрос: Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading. Или у вас master-detail реализован через какой-то собственнопридуманный велосипед? Извиняюсь... Я формы делаю на Designer forms и искал там свойство Delete Record Behavior. А это свойство нужно было искать в Oracle Forms. И наконец нашел это свойство, значение равно = Cascading. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:24 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
В общем там, где меню "Запись" выбираю "Удалить", после чего появляется это диалоговое окно. Делаю "Продолжить" и снова делаю Запись->Удалить, запись удаляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:26 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Видимо, это поведение на основе каких-то, сгенерированных дизайнером, триггеров. Повлиять на это можно, например, внося постоянные исправления в генерируемые fmb-файлы и их перекомпиляции. Либо, что также вероятно, в Дизайнере должно быть какое-либо свойство, влияющее на это поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 19:38 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Понятно, ладно спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2012, 08:58 |
|
Удаление записи из Oracle Forms 6i
|
|||
---|---|---|---|
#18+
Ulan DjamanbalaevВ общем relation между таблицами БД уже реализован, т.е. если через PL/SQL Developer удалить запись из таблицы test1, то дочерние записи из test2 удаляются... Как-то я это не очень понимаю. Зачем, если Forms сам будет каскадное удаление делать. Удали эту бяку из БД и проверь, осталась ли ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2012, 14:11 |
|
|
start [/forum/topic.php?fid=51&tid=1878529]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 469ms |
0 / 0 |