2016-10-20 3 views
1

Я разрабатываю мобильное приложение, которое должно позволить студенту искать вакансии. Я использовал мастер для создания формы со списком. В представлении списка будут отображаться только названия вакансий, которые не совпадают с датой закрытия (доступные задания)Значения между страницами в Oracle Apex

При щелчке по названию работы он перенаправляется на форму, где учащийся может просматривать дальнейшие детали задания. Эти значения автоматически передаются мастером.

Теперь, когда все это прекрасно, мне нужна информация из трех разных таблиц, и мастер не поможет мне в этом.

Я создал представление списка на основе SQL-запроса, а также форму на основе SQL-запроса. Я попытался создать автоматические процессы извлечения, чтобы передать значения из моего списка в представление формы, но ничто из того, что я пробовал, не сработало. Я тщательно проанализировал формы, созданные мастером, чтобы посмотреть, как это можно сделать, но ничего не сработало для меня, и я действительно очень хотел бы сделать это таким образом.

Для справки это код SQL я использовал для просмотра списка (и это то же самое для представления формы для ИНЕК за исключением)

 T1.JOB_TITLE, 
     T1.SALARY, 
     T1.JOB_DESCRIPTION, 
     T1.START_DATE, 
     T1.CLOSING_DATE, 
     T1.METHOD_ID, 
     T3.METHOD_NAME, 
     T1.SITE_ID, 
     T2.CITY, 
     T2.ADDRESS_FIRST_LINE, 
     T2.EMAIL, 
     T2.COMPANY_NAME 

FROM JOB T1 

JOIN SITE T2 ON (T2.SITE_ID = T1.SITE_ID) 

JOIN APPLICATION_METHOD T3 ON (T3.METHOD_ID = T1.METHOD_ID) 
Where (T1.Closing_Date >(Select Current_Date from dual)) 

ответ

2

Есть действительно два способа вы могли бы решить эту проблему:

1) Если вы можете просто передать значения, которые вам нужны на странице формы, отредактируйте значения области формы и откройте атрибут «Ссылка цели» (предполагается, что вы используете APEX 5 Page Designer). Там вы сможете передать несколько значений элементам на странице формы.

2) Если вам нужно получить эти значения на странице формы, добавьте процесс «После заголовка» на странице формы и выполните поиск из других таблиц в этом процессе, используя PL/SQL. Синтаксис переменной привязки можно использовать для ссылки на ваши элементы и обновления состояния сеанса. Например:

begin 
    for c1 in (select val1, val2 from my_other_table where id = :P3_ID) loop 
     :P3_ITEM1 := c1.val1; 
     :P3_ITEM2 := c1.val2; 
     exit; 
    end loop; 
end; 
1

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

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

SELECT METHOD_NAME FROM APPLICATION_METHOD 
WHERE (METHOD_ID = :P3_METHOD_ID) 

Я довольно уверен, что это не может быть отличным решением, если у вас есть много столбцов, которые нужно пройти, но это было легко понять и реализовать для нескольких дополнительных столбцов.

Смежные вопросы