【问题标题】:oracle form hidden field from the display item显示项目中的 oracle 表单隐藏字段
【发布时间】:2020-04-10 22:01:32
【问题描述】:

我正在尝试在扩展价格(显示项目)中显示或隐藏减号

表格

Transaction Portfolio_Number    PK  Number (7,0)        FK  Not Null
    Stock_Code      Varchar2 (10)       FK  Not Null
    Transaction_Date        Date    Not Null
    Exchange_Code       Varchar2 (4)        FK  Not Null
    Broker_Number       Number (7,0)        FK  Not Null
    Buy_Sell        Char (1)    Not Null
    Quantity        Number (7,0)    Not Null
    Price_Per_Share     Number (6,2)    Not Null

我的显示项目是数量 * price_per_share。

如果是买入,则扩展价格将带有减号。 如果是卖出,则扩展价格将带有减号(隐藏该字段?) 一件事是减号意味着它是负数。因为我将使用它来计算扩展价格总额。 如果你有另一种工作方式。也请与我分享。

【问题讨论】:

    标签: oracle oracleforms hidden-field


    【解决方案1】:

    我不确定我是否明白你在说什么;示例肯定会有所帮助。

    同时:你说过:

    • 如果 buy_sell = buy 则 price_per_share 为负数
    • 如果buy_sell = 卖出那么... 什么?不知道你写的是什么意思:

      那么扩展价格将带有减号(隐藏字段?)

      在我看来,这与“购买”相同。

    另外,什么是“扩展总价”?

    正如我所说:示例和 - 可能 - 重新表述问题会有所帮助。


    同时,看看这是否有帮助:

    :block.display_item := case when :block.buy_sell = 'B' then -1
                                when :block.buy_seel = 'B' then  1
                           end * :block.quantity * abs(:block.price_per_share);
    

    它说:不管price_per_share 的符号是什么(正或负)——总是取它的绝对值(这就是abs 函数所做的)。乘以quantity。通过检查buy_sell 值来决定使用哪个符号(我假设买入表示,而卖出表示)。


    如果涉及两个表,将它们连接起来并选择到一个块项目中(假设上面的代码是有意义的);像这样:

    select sum(case when t.buy_sell = 'B' then -1
                    when t.buy_sell = 'S' then  1
               end * t.quantity * abs(t.price_per_share)
              )
    into :block.display_item
    from transaction t join portfolio p on p.portfolio_number = t.portfolio_number
    where t.portfolio_number = :block.portfolio_number;
    

    【讨论】:

    • 如果表不是来自事务的语法是什么,表 Portfolio,它有 protfolio_number 作为 PK 是事务的 FK。并将它们全部加起来。
    • 我编辑了我的答案并添加了更多代码;请看一下。
    • 那你为什么提到另一张桌子?
    猜你喜欢
    • 2013-07-23
    • 1970-01-01
    • 2017-03-08
    • 2011-12-03
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    相关资源
    最近更新 更多