如何根据 Oracle Forms 中的复选框值为公式分配负值?

How to assign a negative value to a Formula based on a checkbox value in Oracle Forms?

我有一个表格交易表格,其中包含 Buy/Sell、数量、价格、extended_price(数量 * 价格的公式)和 extended_price_total([=17 的摘要=]).当表格上的复选框设置为Buy时,extended_price为正,Sell为负。

早些时候我尝试创建一个 post 查询触发器,但我被告知只需创建一个隐藏的虚拟项目并将该项目添加到我的公式(数量 * 价格* 虚拟)。

任何人都可以帮助我创建一个虚拟项目,它会根据我的数据块中的一个单独的复选框项目为自己分配 1 或 -1 的值吗?

在复选框项目上创建 WHEN-VALIDATE-ITEM 触发器:

:block.dummy := case when :block.checkbox_item = 'A'  -- or whichever value you chose to
                          then 1                      -- represent checked checkbox
                     else -1
                end;

为什么要为虚拟物品烦恼?只需将复选框设置为选中时值为 1,未选中时值为 -1。然后使用公式添加 When-Checkbox-Changed 触发器,将 "dummy" 替换为复选框的名称。

或者,如果复选框的值是预先确定的,您仍然可以跳过虚拟项,方法是将公式放入 When-Checkbox-Changed 触发器中,相应地使用 CASE 或 IF 乘以 1 或 -1。