我正在创建一个APEX应用程序,允许学生申请工作实习,并允许管理员查看所有交互。我想创建一个页面来显示所有学生的应用程序。
首先,这是所涉及的表的数据库模式:
全尺寸链接:http://i.stack.imgur.com/QU1Pr.png
我有一份包含学生名单的报告,并且我添加了“查看应用程序”列。我已将“查看应用程序”列链接起来,然后转到新页面。问题是,我不知道如何显示管理员当前正在查找的学生的所有应用程序。
我能想到的唯一方法是将RECORD_NUMBER
(students
表中的PK)传递给新页面,然后使用它执行一些SQL,并使用返回的内容填充页面字段。但我不知道该怎么做。我不知道如何获取要在SQL中使用的RECORD_NUMBER
值,我不知道如何使用SQL返回的表单字段填充表单字段。
感谢任何帮助。
答案 0 :(得分:2)
因此,您有一个页面列出了应用程序和已申请的学生。我们将调用该页面1.如果我了解您要执行的操作,则可以创建包含报表和隐藏页面项的页面2。调用页面项P2_RECORD_NUMBER。
使用查询创建报告:
SELECT *
FROM tbl_jobs j
INNER JOIN tbl_applications a on a.job_id = j.id
INNER JOIN tbl_students s ON s.record_number = j.record_number
WHERE s.record_number = :P2_RECORD_NUMBER
现在编辑第1页上的链接,使其指向第2页,并使用用户单击的行的record_number填充P2_RECORD_NUMBER。我没有Apex在我面前,但我认为你可以通过编辑该列的报告属性来做到这一点。此外,您可以使用http://site.com/f?p=<APP_ID>:<PAGE_ID>:0::::P2_RECORD_NUMBER:<record_number>
形式的网址。 (我是从记忆中做到这一点,可能有错误的冒号数。)
如果上面的查询没有返回任何行,您还需要一些默认文本。
答案 1 :(得分:1)
只需为管理员创建一个新页面,然后输入类似
的查询SELECT *
FROM tbl_students s
JOIN tbl_applications a USING (record_number)
JOIN tbl_jobs j ON a.job_id = j.id
您知道在哪里添加查询吗?