Oracle Forms手电筒LOV与窗口查询创建指南

需积分: 50 0 下载量 54 浏览量 更新于2024-09-15 收藏 420KB PDF 举报
"这篇文档介绍了如何在Oracle Forms中使用手电筒功能实现LOV(列表Of Values)查询以及创建窗口查询。作者为blackhaha." 在Oracle Forms开发环境中,手电筒功能是一种强大的工具,它允许用户快速查找并填充表单中的数据。以下是关于“form手电筒lov和窗口查询创建”的详细步骤: 一、手电筒实现LOV查询实现 1. 创建LOV(列表Of Values)查询时,首先创建一个名为`SYF_PATH_SIGNED_FIND_LOV`的LOV,并将它的值映射到一个参数。映射方式有两种:直接映射给数据块的item或通过参数传递。直接映射到item会在手电筒查找后提示用户是否保存更改,而通过参数传递则不会有此提示。 - 直接映射:将LOV值直接关联到数据块的item,手电筒查找后会有保存提示。 - 参数映射:先将LOV值赋予参数,再将参数值赋给item,无保存提示。 2. 在数据块下创建`pre-query`触发器,用于在查询前将参数的值赋给数据块中的相关字段。例如,当`parameter.G_query_find='TRUE'`时,将参数`SYF_PATH_SIGNED_PARA`和`SYF_PATH_STARTDATE_PARA`的值分别赋给`SYF_CONTRACT_PATH.SIGNED_UNIT_CODE`和`SYF_CONTRACT_PATH.START_DATE_ACTIVE`,然后将`G_query_find`设置为`'FALSE'`。 3. 创建一个名为`QUERY_FIND`的`user_named`触发器,调用`app_find.query_find('SYF_PATH_SIGNED_FIND_LOV')`,其中`SYF_PATH_SIGNED_FIND_LOV`是LOV的名称。 4. 完成以上步骤后,手电筒LOV查询功能就已经实现了。 二、手电筒窗口查询 1. 要创建窗口查询,首先从`APPSTAND.fmb`中复制`QUERY_FIND`对象组到自己的表单的`ObjectGroups`下。这将为你的表单引入新的查询功能。 2. 在复制后的`QUERY_FIND`对象组中,有对`NEW`按钮和`FIND`按钮的`when-button-pressed`事件的处理代码。对于`NEW`按钮,使用`app_find.new('SYF_CONTRACT_PATH')`来初始化一个新的记录;对于`FIND`按钮,设置`parameter.G_query_find='TRUE'`,然后调用`app_find.find('SYF_CONTRACT_PATH')`来执行查询。 通过以上操作,你可以实现Oracle Forms中的手电筒LOV查询和窗口查询功能,从而提升用户在表单中查找和输入数据的效率。确保正确地遵循每个步骤,并根据你的具体需求进行适当的调整。