Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Удаление записи из Oracle Forms 6i / 15 сообщений из 15, страница 1 из 1
15.02.2012, 13:22
    #37662857
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Всем привет!
У меня вопрос по Oracle Forms 6i. Форма состоит из 2-х блоков. Верхний основной блок формируется из таблицы test1, а второй test2. Эти две таблицы связаны между собой с каскадным удалением. Подскажите, пож-та, как удалить записи из двух таблиц при нажатии на кнопку "Удалить" из формы? есть ли встроенные функции? Чтоб один раз нажал на кнопку удалить и запись удалилась из БД, а форма показывала следующую запись, если след. записи нет, то обновить форму.
...
Рейтинг: 0 / 0
16.02.2012, 10:58
    #37664651
-=APS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
А что конкретно вы пробовали для реализации этой задачи, можно поинтересоваться?
Например, что у вас скрывается за загадочной кнопкой "Удалить" (пока нашёл, где она - чуть глаза не сломал).
По вашему скриншоту догадываться о том, что вы там наворотили - это к экстрасенсам.
Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading.
Или у вас master-detail реализован через какой-то собственнопридуманный велосипед?
...
Рейтинг: 0 / 0
16.02.2012, 11:57
    #37664803
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
В общем relation между таблицами БД уже реализован, т.е. если через PL/SQL Developer удалить запись из таблицы test1, то дочерние записи из test2 удаляются... Надеюсь это я правильно выразил... Следующее, в данный момент при нажатии на кнопки "Удалить"(см. рисунок с лупой) ничего не реагирует. При создании формы Oracle Forms предлагает меню для удаления записей, но почему-то с помощью этой меню "Удалить" приходится два раза делать удаление одной записи, т.е. два раза нажимаешь этот меню - при первой нажатии меню Oracle Forms дает сообщение
авторOFG-22: Нажмите [Delete Record] еще раз для подтверждения каскадного удаления!


После еще раз нажимаю этот же меню "Удалить" и после чего запись удаляется. Но это для пользователей не удобно и я хотел на форме поставить кнопку "Удалить", чтоб при нажатии этой кнопки лишних сообщений не выводил, а удалил запись из БД. Надеюсь теперь все понятно описал ситуацию...
...
Рейтинг: 0 / 0
16.02.2012, 12:04
    #37664818
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Ну и кто мешает по этой кнопке вызвать оператор SQL DELETE ?
...
Рейтинг: 0 / 0
16.02.2012, 13:53
    #37665144
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
не работает!
...
Рейтинг: 0 / 0
16.02.2012, 15:43
    #37665419
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Ulan Djamanbalaevне работает!
Очень информативное сообщение. Хрустальные шары, к сожалению, замерзли
...
Рейтинг: 0 / 0
17.02.2012, 11:29
    #37666769
-=APS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Какие-то у вас загадочные сообщения появляются. Можете проиллюстрировать скриншотом ваше: "OFG-22: Нажмите [Delete Record] еще раз для подтверждения каскадного удаления"?
-
При установке в свойстве relation Delete Record Behavior = Cascading, Forms добавляет достаточно простой триггер PRE-DELETE на блок, в виде:
Код: plsql
1.
2.
3.
4.
BEGIN
   DELETE FROM TEST_DETAIL U
   WHERE U.MASTER_ID = :TEST_MASTER.ID;
END;

И это работает вполне нормально. Проверено неоднократно.
...
Рейтинг: 0 / 0
18.02.2012, 20:27
    #37668691
gural
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Ulan Djamanbalaev,

Судя по коду ошибки "ofg-22" - это не оракловское сообщение - гляньте не переписан ли у вас тригер key-delrec....
...
Рейтинг: 0 / 0
20.02.2012, 09:47
    #37669863
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
-=APS=-При установке в свойстве relation Delete Record Behavior = Cascading


А где находится это свойство?
...
Рейтинг: 0 / 0
20.02.2012, 11:12
    #37669975
-=APS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Ulan DjamanbalaevА где находится это свойство?
Хм... Вы не смогли найти такое свойство? Я ведь уже задавал вам вопрос:
Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading.
Или у вас master-detail реализован через какой-то собственнопридуманный велосипед?
...
Рейтинг: 0 / 0
20.02.2012, 18:24
    #37671001
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
-=APS=-Ulan DjamanbalaevА где находится это свойство?
Хм... Вы не смогли найти такое свойство? Я ведь уже задавал вам вопрос:
Надеюсь, вы построили relation для этих блоков? См. свойство relation-а: Delete Record Behavior = Cascading.
Или у вас master-detail реализован через какой-то собственнопридуманный велосипед?

Извиняюсь... Я формы делаю на Designer forms и искал там свойство Delete Record Behavior. А это свойство нужно было искать в Oracle Forms. И наконец нашел это свойство, значение равно = Cascading.
...
Рейтинг: 0 / 0
20.02.2012, 18:26
    #37671008
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
В общем там, где меню "Запись" выбираю "Удалить", после чего появляется это диалоговое окно. Делаю "Продолжить" и снова делаю Запись->Удалить, запись удаляется.
...
Рейтинг: 0 / 0
20.02.2012, 19:38
    #37671140
-=APS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Видимо, это поведение на основе каких-то, сгенерированных дизайнером, триггеров.
Повлиять на это можно, например, внося постоянные исправления в генерируемые fmb-файлы и их перекомпиляции. Либо, что также вероятно, в Дизайнере должно быть какое-либо свойство, влияющее на это поведение.
...
Рейтинг: 0 / 0
21.02.2012, 08:58
    #37671661
Ulan Djamanbalaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Понятно, ладно спасибо всем!
...
Рейтинг: 0 / 0
21.02.2012, 14:11
    #37672374
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записи из Oracle Forms 6i
Ulan DjamanbalaevВ общем relation между таблицами БД уже реализован, т.е. если через PL/SQL Developer удалить запись из таблицы test1, то дочерние записи из test2 удаляются...

Как-то я это не очень понимаю. Зачем, если Forms сам будет каскадное удаление делать. Удали эту бяку из БД и проверь, осталась ли ошибка.
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Удаление записи из Oracle Forms 6i / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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