1

我需要使用从 LOV 中选择的值运行查询。

我有下一个设置:

  • 一个名为“MENIU”的块
  • 一个名为“MENIU”的表,其中有一列“ID_MENIU”。
  • 一个名为“LOV_MENIURI”的 LOV
  • 名为 P_IDMENIU 的参数
  • 表单上名为“Alegeti Meniul”的按钮

为了使用从 LOV 中选择的值运行查询,我尝试了以下操作:

  • LOV 返回项“ID_MENIU”设置为 PARAMETER.P_IDMENIU
  • 在块 MENIU 的预查询中,我已将 PARAMETER.P_IDMENIU 值分配给 MENIU.ID_MENIU
  • 按钮“Alegeti Meniul”具有下一个“按下按钮时”触发代码:

    declare 
        success boolean;
    begin
    Enter_Query;
    success := show_lov('LOV_MENIURI');
    Execute_Query;
    end;
    

我的问题是,当第一次按下按钮时,没有任何反应,如果我第二次按下按钮,LOV 窗口就会出现并且查询会执行两次。

带有结果的 GIF:

4

1 回答 1

2

你不需要那个 enter_query 调用。

begin 
  if show_lov('LOV_MENIURI') then
    execute_query;
  end if; 
end;

当调用内置的 execute_query 时,您将触发预查询触发器,使用 LOV 返回的值设置 where 子句。

于 2014-02-07T12:54:51.463 回答