Oracle Forms 6i 解析 LOV 代码
Posted
技术标签:
【中文标题】Oracle Forms 6i 解析 LOV 代码【英文标题】:Oracle Forms 6i Resolve LOV code 【发布时间】:2013-04-23 19:42:51 【问题描述】:我有一个包含两列的 LOV,一列是代码,另一列是描述。我知道文本项有一个属性说从列表中验证但是我的代码字段和描述字段是显示项。我们不想强迫用户点击按钮来显示 LOV。在预表单触发器中,我在代码字段中设置了一个默认值。
我想从列表中获取/解析代码到它的描述,而不必从数据库中进行选择。有谁知道完成这项工作的方法?
【问题讨论】:
如果你给它设置一个默认值,你现在可能已经描述了这一刻,为什么你需要解决它。 请张贴pre-form trigger
代码。
@Annjawn 预制件只有 :code := 10;
@nigthfox79 我在其中设置了一个默认值,但是我需要在 :code 字段中标记项目以解析或验证列表我在预表单中设置值而不是能够在表单触发时访问此字段。 :code 和 :description 字段都是显示项。
如果您知道:code:=10
,那么您可能也知道该代码的描述是什么,因此您可以输入:desc=<description>
,如果您的字段仅显示,没有人可以编辑无论如何,除非:code
的值是在预表单触发器触发之前根据某些规则确定的,在这种情况下,两个值每次都会不同..
【参考方案1】:
我也遇到过同样的问题。在运行时可能没有从记录组中检索标签列的解决方案。
但你可以这样做:
-
将记录组查询存储在某处(包头或数据库列)。
在运行时使用查询填充您的记录组。
创建以查询和键值作为参数的 DB 函数。然后该函数将返回键值的描述(使用动态 SQL,立即执行 / dbms_sql)。
在 POST-QUERY 触发器中使用函数:
:block.item_description := your_new_function(l_query, :block.item_value);
【讨论】:
以上是关于Oracle Forms 6i 解析 LOV 代码的主要内容,如果未能解决你的问题,请参考以下文章
在 Oracle Forms 10g 中使用 LOV 值过滤数据块
Oracle Forms 6i 错误:201 Identifire 或表中没有列