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

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

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

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

EXECUTE_QUERY;

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

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

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

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

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

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

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
Oracle Forms. Начало.
    #36840879
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
упс))простите, долго писал
...
Рейтинг: 0 / 0
Oracle Forms. Начало.
    #36840899
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, OmegaMale. Возился несколько часов=)
...
Рейтинг: 0 / 0
Oracle Forms. Начало.
    #36845674
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно ли с помощью 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
Oracle Forms. Начало.
    #36845855
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. зачем точка с запятой после tab_name. Это же SQL, а не PL/SQL
2. а таблица-то вообще видна?
3. если что-то не проходит из Forms, завсегда можно сваять хранимую процедуру на сервере

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


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