当按钮按下oracle形式时,字段为空?

时间:2018-08-27 07:58:43

标签: oracle oracle10g oracleforms

我正在创建10g oracle形式的搜索数据表单

当用户从非数据库字段中选择LOV并按搜索按钮时,非数据库字段将为空。我希望按钮按下时字段不为空

1 个答案:

答案 0 :(得分:0)

截图会有所帮助;尚不清楚该非数据库字段放置在哪里。如果它是表格布局论坛,是否将其放置在所有其他字段中?还是它位于控件的非数据库块中?

无论如何:这就是我要这样做的方式。

首先,如果可能,避免发明您自己的搜索算法。表单本身很擅长做这些事情。很快:

  • 进入查询模式
  • 输入搜索条件(从值列表中选择它;为什么不呢?)
  • 执行查询
  • 除了LoV之外,绝对不需要其他编程

如果由于某种原因,您必须按照“您的方式”进行操作:

  • 将非数据库LoV字段放入单独的控制块中
  • WHEN-BUTTON-PRESSED应该
    • 使用SET_BLOCK_PROPERTY并将数据库块的DEFAULT_WHERE(或者甚至更好,ONETIME_WHERE)设置为选定的LoV值
    • 导航到数据库块(GO_BLOCK
    • EXECUTE_QUERY
  • 或者,WHEN-BUTTON-PRESSED只会EXECUTE_QUERY,但是您可以在设置搜索条件的数据库块上使用PRE-QUERY触发器,例如:database_block.name := :control_block.lov_field;

关于您的问题:

  • 似乎LoV字段是数据库块的一部分,一旦执行查询,它就会被清除。查看是否可以使用POST-QUERY触发器
  • 重新填充它
  • 或者,如果不是,请检查WHEN-BUTTON-PRESSED触发器在做什么-也许可以清除

看看我写的内容有帮助。如果不是,请编辑问题(您的初始消息)并提供其他信息,以帮助我们为您提供帮助。