2011-12-07 15 views
1

私の必要なことは、私の心では、信じられないほど単純です。実際には単純なので、明らかにそうであるため、これを行う方法を文書化する場所を見つけることができないようです。Oracle APEXでの単純な日付の算術

私が必要とするのは、日付ピッカーページアイテム(:P1_DATE_1)の値を取得し、動的アクションによって2番目の日付ピッカーページアイテム(:P1_DATE_2)の値を設定することだけです。 (:P1_DATE_2)の値は、(:P1_DATE_1)の値よりも2年または730日大きいはずです。だから私が必要とするのは、単純な「+730」式の権利ですか?

この計算では、sysdateをこの計算の開始日として使用していました。次のPL/SQL式では、適切な出力が得られました。

to_char(sysdate + 730,'dd-MON-rr') 

ただし、ページ項目の値を受け入れることに変換できませんでした。私はすでにアクションを持っていて、すべての設定が完了しました。私は、sysdateの代わりに:P1_DATE_1を試してみると機能しません。私は、ページ項目を使用してその式の数多くの異なる表現を試みましたが、2ページ目の項目を設定しません。

ご迷惑をおかけして申し訳ありませんが、誰か助けていただければ幸いです。ありがとう!

+0

あなたはちょうど2年後、 'TO_CHARたい場合(ADD_MONTHS(SYSDATE、24)、 'DD-MON-RR')'すべてが順調と良いのthats – Ben

+0

良いですが、私は、SYSDATEを使用したくありません。 P1_DATE_1の日付を変更する日付として使用したいと思います。私がsysdateのために投稿した方法は、うまく動作します – Spags

答えて

2

@Justin洞窟が正しい:ページ・アイテムのすべての値は、あなたのダイナミックなアクションとVARCHAR2

として扱われ、これは私が設定したものです: リージョン:

items

ダイナミックなアクション(日2アドオン):

dynamic action

真のアクション:

true action

+0

ありがとう!私はすべての問題はおそらく私はその価値を引き出す前にページアイテムを提出することを忘れていたと思う...ありがとう! – Spags

1

エラーが表示されますか?もしそうなら、どんなエラー? APEXのページ項目は常に文字列なので、日付演算を行う前に日付に変換する必要があります。このようなものは、P1_DATE_1がDD-MON-RR形式であると仮定して動作するはずです。

to_char(add_months(to_date(:P1_DATE_1, 'DD-MON-RR'), 
        24), 
     'DD-MON-RR') 

エラーが表示されず、2番目の項目がデフォルトになっていない場合は、操作の問題が発生している可能性があります。 2番目の項目の初期化コードを実行したときに最初の項目が実際にNULL以外の値に設定されていることは確実ですか?人間が最初の日付ピッカーで実行時に選択した値に基づいて2番目の項目の値を設定しようとしている場合は、ページを送信するか、Javascriptが少し必要です。

関連する問題