【问题标题】:How to get ID from LOV?如何从 LOV 获取 ID?
【发布时间】:2017-09-20 13:39:14
【问题描述】:

我正在学习 APEX 5

我有一个名为 X_CONTROL 的控件,我想在其中使用 SQL 查询填充他的内容。

为此,我需要表中的 ID 主键,它应该是在名为 MY_LIST_CONTROL 的 Select List 控件上选择的行的 ID

MY_LIST_CONTROL 有一个取自表 "MyTable" 列的值列表,该列不是 ID 主键。

我尝试使用此 SQL 填充 X_CONTROL

Select ID from MyTable where ColumnName=:MY_LIST_CONTROL 

它不起作用,也不应该起作用,因为 ColumnName 不是“唯一的”,就像 ID 一样。

所以,问题是,我如何使用 SQL 恢复与 MY_LIST_CONTROL 中的选定值相对应的选定行的 ID。

应该是 SQL,因为 APEX 5 需要 SQL 查询来填充 X_CONTROL

【问题讨论】:

  • 您的问题目前不是很清楚。当您说“我如何使用 SQL 恢复与 MY_LIST_CONTROL 中的选定值相对应的选定行的 ID”时,您自相矛盾 - 但您只是说对于给定的 MY_LIST_CONTROL 值会有多个匹配行 - 其中是吗?
  • @Tony Andrews MY_LIST_CONTROL 从未标记为“唯一”的列中获取他的值列表,因此它可能具有重复数据。只有标记为“唯一”或“主键”的列具有唯一值。我有一个名为 MyTable 的表,其中包含名为 ID 和 ListOfValues 的列。 MY_LIST_CONTROL 选择了 ListOfValues 之一,我需要知道所选值的 ID 是什么,以填充另一个控件。
  • @Tony Andrews 你的意思是 LOV 应该只有唯一的值吗?我正在学习,所以我不确定。
  • 看我的回答..

标签: oracle-apex


【解决方案1】:

我已经建立了一个简单的例子here on apex.oracle.com

只要选择了一个部门(项目 P32_DEPTNO),它的位置就会复制到第二个项目(P32_LOC)中。

这是通过对 P32_DEPTNO 的动态操作完成的,定义如下:

  • 事件:更改
  • 选择类型:项目
  • 项目:P32_DEPTNO

真正的行动:

  • 动作:设定值
  • 设置类型:SQL 语句
  • SQL 语句: 选择位置 从部门 其中 deptno = :P32_DEPTNO
  • 要提交的项目:P32_DEPTNO

【讨论】:

  • 我已经拥有了这份爱。那是 MY_LIST_CONTROL 的 LOV。我的问题是我需要恢复 ID=10(在您的示例中“deptno”column=10 when :MY_LIST_CONTROL = 'ACCOUNTING'),以使用 X_CONTROL 上的 SQL 填充另一个名为 X_CONTROL 的控件。
  • 所以,在 X_CONTROL 中我需要这个 SQL:Select deptno from dept where dname =:MY_LIST_CONTROL 但它不起作用
  • 其实我需要 ID=10 才能访问其他列来填充 X_CONTROL,但这是不必要的细节。如果我能得到 10,我应该能够弄清楚如何使用它。这应该是一个常见的任务,所以我不明白为什么用 google 很难找到它。
  • 声音,如要在更改选择列表时触发的动态动作,并使用SQL查询设置X_Control的值。 span>
  • 我还需要咀嚼它,但你帮了大忙。希望你喜欢金属:这里有奖励youtube.com/watch?v=Aj50wMJ83zc
猜你喜欢
  • 2010-11-16
  • 1970-01-01
  • 2011-08-27
  • 2018-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多