Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms. Начало. / 25 сообщений из 30, страница 1 из 2
04.12.2002, 09:23
    #32075405
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Решил плотно ими заняться, но сразу же столкнулся с проблемой - создаю обычную форму на основе одной таблицы, запускаю... Записи отсутствуют. Вношу новые, сохраняю - в таблице они появляются. Видимо, что-то ставить где-то надо. Хелп, плз.
...
Рейтинг: 0 / 0
04.12.2002, 09:37
    #32075414
Oracle Forms. Начало.
1. см. Query
2. Раз только начал, лучше изучай Jdeveloper 9.0.3
...
Рейтинг: 0 / 0
04.12.2002, 10:06
    #32075443
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
А как сделать, чтобы запрос запускался сразу?
До JDeveloper-а ещё доберёмся:)
...
Рейтинг: 0 / 0
04.12.2002, 10:07
    #32075444
Oracle Forms. Начало.
вставь квери в триггер...
...
Рейтинг: 0 / 0
04.12.2002, 11:03
    #32075465
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
А конкретнее? Какой триггер, на каком объекте? И что писать?
Замучил уже наверное...
...
Рейтинг: 0 / 0
04.12.2002, 11:48
    #32075496
hinotf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
например, на триггере when-new-form-instcance (триггер на уровне формы, естественно), написать

go_block('.....');
execute_query;

а вообще, почитайте книжки по формам
...
Рейтинг: 0 / 0
04.12.2002, 12:00
    #32075506
fraer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Забей на все это и займись нормальной работой
...
Рейтинг: 0 / 0
04.12.2002, 12:17
    #32075524
oracle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Тут с фраером полностью не согласен, лучше средства для работы по виндой для табличных приложений под Oracle пока еще нет....
...
Рейтинг: 0 / 0
04.12.2002, 12:59
    #32075542
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Ну и где книги добыть? Нормальные, а не где пол-книги объясняется интерфейс.
Мда... Трудновато с Делфи переходить.
...
Рейтинг: 0 / 0
04.12.2002, 13:46
    #32075584
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Что за глюк? Выставляю все поля высвечиваемым текстом - runtime вылетает.
...
Рейтинг: 0 / 0
04.12.2002, 18:02
    #32075768
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
>>> Решил плотно ими заняться, но сразу же столкнулся с проблемой - создаю обычную форму на основе одной таблицы, запускаю... Записи отсутствуют. Вношу новые, сохраняю - в таблице они появляются. Видимо, что-то ставить где-то надо. Хелп, плз.

V triggere WHEN-NEW-INSTANCE dla FORM v celom procto napish :

EXECUTE_QUERY;

i vce.
...
Рейтинг: 0 / 0
05.12.2002, 08:45
    #32075868
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Возможно ли создать блок данных по запросу, а не только по вьюверу с таблицей?
Рога и копыта Иванов
Денежный мешок Петров
Форс Сидоров
Где, соответственно, люди идут из другой таблицы.
...
Рейтинг: 0 / 0
05.12.2002, 09:33
    #32075894
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
На формсе сделать можно практически все, что делают на делфе. Вопрос в том, что нужно поменять взгляд на программирование. И научиться работать в жестких рамках формализации. Дока хорошая есть в девелопере под линухом(PDF & HTML), правда на англицком.
...
Рейтинг: 0 / 0
05.12.2002, 09:54
    #32075910
Les
Les
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Только как правило это не надо. Но если уж очень приспичет, то можно сделать блок на основе query, и подставлять в качестве источника
(SELECT .....) только имена столбцов должны совпадать. Или можно построить блок на основе процедуры в базе, через REF курсор. А если хрчешь - то на моей страничке можешь скачать книжку на русском языке по Developer
www.insoft.ru/alexey в разделе библиотека.
ЗЫ: Если будешь через чур мудрствовать, то могут пойти проблему при работе с другими базами из твоей програмы (не Oracle)
...
Рейтинг: 0 / 0
05.12.2002, 10:11
    #32075919
Allexx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Взгляд на программиронаие развернулся ровно на 180. Всё направлено строго в противоположную сторону.
С англицким проблем нет.
А первые шаги нашёл как делать - baks.gaz.ru. Конкретно и понятно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
03.09.2010, 15:59
    #36828616
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
расскажите, плз, как сделать, чтобы строки, выбранные из таблицы, отображались собственно таблицей, а не в отдельных recordах на разных страницах?
...
Рейтинг: 0 / 0
06.09.2010, 16:39
    #36832262
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Parovozik,

Установите на блоке данных

Number of record displayed = 5 (или другое > 1 значение)
Record orientation = Vertical

Или когда блок создаете, то см.картинку
...
Рейтинг: 0 / 0
10.09.2010, 15:10
    #36840540
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Еще вопросик тогда.
Сделал форму на основе таблицы emp стандартной скоттовской схемы. На канве отображается таблицей(так как описано выше), хочу чтоб по нажатии на кпонку, выводились только те служащие, которые являются подчиненными того сотрудника, на котором стоял курсор в таблице.
На кнопку завязываю триггер WHEN_BUTTON_PRESSED:
go_block('emp');
set_block_property('emp',default_where,'mgr=???');
execute_query;
вместо ??? должна быть какая-то переменная или константа. Вопрос в том как ее получить, то есть как получить значение записи, на которой установлен курсор?
...
Рейтинг: 0 / 0
10.09.2010, 16:08
    #36840761
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Parovozik,

Ну, т.к. вам нужны значения текущей строки (CURRENT_RECORD), то никаких манипуляций особо делать не нужно.

У меня нет тестовой схемы SCOTT, потому примерно пишу:

WHEN-BUTTON-PRESSED:

Код: plaintext
1.
   SET_BLOCK_PROPERTY('EMP',DEFAULT_WHERE,'mrg='||:EMP.emp_id);

Но сразу на будущее хинт: так лучше не делать, а правильнее будет сделать переменную и биндить её в запросе.
Например, создать скрытый элемент на форме (поместить его в управляющий блок, не в блок данных, для примера назовём его CONTROL), назвать, например, MGR_ID. А where в таком случае сделать так:

Код: plaintext
1.
   SET_BLOCK_PROPERTY('EMP',DEFAULT_WHERE,'mrg=:CONTROL.MGR_ID');
...
Рейтинг: 0 / 0
10.09.2010, 16:10
    #36840768
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
OmegaMale,

да, забыл, что нужно сделать установку этого элемента при нажатии на кнопку:

:EMP.MGR_ID := :EMP.EMP_ID;
...
Рейтинг: 0 / 0
10.09.2010, 16:46
    #36840876
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
попробовал сделать так, но все равно не пашет:

declare
c number:=:system.cursor_record;
f number;
cursor c1 is select empno, rownum from emp;
begin
for i in c1 loop
if i.rownum=c then
f:=i.empno;
else NULL;
end if;
end loop;
go_block('emp');
clear_block;
set_block_property('emp',default_where,'mgr='||f);
execute_query;
end;

причем тотже код пробовал переписать в виде блока PL/SQL для SQL*Plus, все работало:

declare
c number:=9;
f number;
cursor c1 is select empno, rownum from emp;
cursor c2(nemp number) is select empno,ename,mgr from emp where mgr=nemp;
begin
for i in c1 loop
if i.rownum=c then
f:=i.empno;
else NULL;
end if;
end loop;

for x in c2(f) loop
dbms_output.put_line(x.empno||' '||x.ename||' under '||x.mgr);
end loop;
end;
/
7566 JONES under 7839
7698 BLAKE under 7839
7782 CLARK under 7839

PL/SQL procedure successfully completed.

Здесь с сразу равно строке в таблице, получается как будто :system.cursor_record ничего не выдает
...
Рейтинг: 0 / 0
10.09.2010, 16:47
    #36840879
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
упс))простите, долго писал
...
Рейтинг: 0 / 0
10.09.2010, 16:53
    #36840899
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
Спасибо, OmegaMale. Возился несколько часов=)
...
Рейтинг: 0 / 0
14.09.2010, 15:14
    #36845674
Parovozik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
можно ли с помощью FORMS_DDL дропнуть таблицу?если нельзя, то как это сделать в FORMS?
делаю вот так, входной параметр tab_name передается через text_item:
PROCEDURE del_table (tab_name varchar2) IS
myddl varchar2(2000);
BEGIN
myddl:='drop table '||tab_name||';';
Forms_DDL(myddl);
IF NOT FORM_SUCCESS then
message ('Таблицы с таким именем не существует');
else
message ('Таблица удалена');
end if;
END;
в результате выводит сообщение 'Таблицы с таким именем не существует', то есть ничего не работает
...
Рейтинг: 0 / 0
14.09.2010, 15:59
    #36845855
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms. Начало.
1. зачем точка с запятой после tab_name. Это же SQL, а не PL/SQL
2. а таблица-то вообще видна?
3. если что-то не проходит из Forms, завсегда можно сваять хранимую процедуру на сервере

PS
DDL из кода - не шибко хорошее дело (ну за некоторым исключением :) )
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms. Начало. / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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