powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms Execute_Query;
7 сообщений из 7, страница 1 из 1
Oracle Forms Execute_Query;
    #34905147
Bondix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Greeting!

Have two Data Blocks - Master/Detail.
Master block - one text item "FATHER", contain LOVs. We pick someone.
Detail block - one text item "CHILDREN" must show us children/s only for one father.
Problem is that I see all children/s in Detail block for all father. What I need to change in trigger code to see details only for one person ? Share some links please about basic trigger constructions, keywodrs.

Код: plaintext
1.
2.
3.
4.
5.
6.
BEGIN
	List_Values;
	IF :MARK IS NOT NULL THEN
		Go_Block('ABO_MODEL');
		Execute_Query;
	END IF;
END;	

Forms 6i, ora8i
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34905159
Bondix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bondix
Код: plaintext
1.
2.
3.
4.
5.
6.
BEGIN
	List_Values;
	IF :FATHER IS NOT NULL THEN
		Go_Block('CHILDREN');
		Execute_Query;
	END IF;
END;	
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34905461
sendal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BondixGreeting!

Have two Data Blocks - Master/Detail.
Master block - one text item "FATHER", contain LOVs. We pick someone.
Detail block - one text item "CHILDREN" must show us children/s only for one father.
Problem is that I see all children/s in Detail block for all father. What I need to change in trigger code to see details only for one person ? Share some links please about basic trigger constructions, keywodrs.

Код: plaintext
1.
2.
3.
4.
5.
6.
BEGIN
	List_Values;
	IF :MARK IS NOT NULL THEN
		Go_Block('ABO_MODEL');
		Execute_Query;
	END IF;
END;	

Forms 6i, ora8i
А зачем Вам обязательно через trigger code ?
Ну, если я правильно понял вопрос, то вариантов получить то что Вы хотите два:
Вариант 1. Если уж говорится про Master block и Detail block - свяжите их через отношение. Если есть какие-то затруднения с прописыванием вручную - используйте Мастер блока данных.
Вариант 2. Явным образом прописать в Where условии зависимость от выбранного значения в Master block.

Как подварианты (для специальных случаев) возможны:
1. Указать в поле отношения детального блока "Копировать значение элемента" = 'Master block.поле отношения'
2. Динамически формировать WHERE условие через Set_Block_Property('Detail block',DEFAULT_WHERE,'<Ваше условие>'. (тогда действительно получится через trigger code, но по сути - через одно место ... :-) ). Использовать подвариант 2 возможно как в том же триггере, где вызывается указанный Вами код (до execute query ес-но), так и на триггере PRE-QUERY.

Read In Help Topics:
1. Data Block Wizard: Master-Detail page
2. WHERE Clause/ORDER BY Clause
3. Copy Value from Item property
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34907154
Bondix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
There already are relationship between FATHER and CHILDREN data blocks.
Problem is, when I execute query using trigger, in CHILDREN block I see all records from the table, block crated on.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
FATHER      CHILDREN
-------------------------
FATHER1     CH1, CH2, CH3
FATHER2     CH7, CH8
-------------------------

My result:
-------------------------
FATHER1
CH1, CH2, CH3, CH7, CH8
-------------------------

Needed result:
-------------------------
FATHER1
CH1, CH2, CH3
-------------------------

Simple task I thing, but it is first time I'm using triggers. Need something like WHERE keys .. Can't find good documentation. Share some links please about basic trigger constructions, keywords e.t.c.
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34907237
forms6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
your trigger is correct
for CHILDREN data blocks set propertie WHERE: FATHER=:FATHER.ID
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34907350
sendal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BondixThere already are relationship between FATHER and CHILDREN data blocks.
Problem is, when I execute query using trigger, in CHILDREN block I see all records from the table, block crated on.
...

Так не бывает, если всё сделано правильно и шаловливыми ручками никто не полазил.
Проверьте
- Заполнение на момент запроса поля Father.ID_Father в MasterBlock
- Свойство "Копировать значение из элемента" поля CHILDREN.ID_Father в DetailBlock. Должно быть равным 'Father.ID_Father'.

Nocheinmal -
Read In Help Topics:
1. Data Block Wizard: Master-Detail page
2. WHERE Clause/ORDER BY Clause
3. Copy Value from Item property
...
Рейтинг: 0 / 0
Oracle Forms Execute_Query;
    #34908161
Bondix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
forms6your trigger is correct
for CHILDREN data blocks set propertie WHERE: FATHER=:FATHER.ID

thanks!
WHERE Clause: :CHILDEREN.FATHER_ID=:FATHER.ID - work.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms Execute_Query;
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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