Oracle apex 如何基于其他日期字段预填充日期字段?

Oracle apex 如何基于其他日期字段预填充日期字段?,oracle-apex,oracle-apex-5,Oracle Apex,Oracle Apex 5,我在oracle apex中有两个日期字段,Date1是必填字段,需要用户输入,Date2需要预填充为(Date1+2年),然后用户单击save按钮将值保存在数据库中。 然后,如果用户单击Date2并更改为其他内容,则应获取该值并保存 例如: 1.用户输入日期1-2019年7月2日 2.Date2应自动填充为-02/07/2021,但不应保存在数据库中。 3.用户点击保存按钮保存数据。 4.用户希望将日期2更改为2019年10月5日 5.用户点击保存按钮保存数据 我尝试使用动态操作为步骤2设置值

我在oracle apex中有两个日期字段,Date1是必填字段,需要用户输入,Date2需要预填充为(Date1+2年),然后用户单击save按钮将值保存在数据库中。 然后,如果用户单击Date2并更改为其他内容,则应获取该值并保存

例如: 1.用户输入日期1-2019年7月2日
2.Date2应自动填充为-02/07/2021,但不应保存在数据库中。
3.用户点击保存按钮保存数据。
4.用户希望将日期2更改为2019年10月5日
5.用户点击保存按钮保存数据

我尝试使用动态操作为步骤2设置值,但每当我单击“保存”按钮时,步骤4都不起作用,它将重新计算到日期1+2年

请提供帮助。

假设您的表单上有P1\u ID(主键)、P1\u DATE1和P1\u DATE2

  • 创建一个动态操作,在更改P1_DATE1时设置P1_DATE2的值。使用PL/SQL表达式作为类型和PL/SQL表达式
    ADD_月(至日期(:P1_日期1,'DD/MM/YYYY'),24)
  • 将“初始化时点火”设置为false,这样当屏幕加载现有记录时,它不会重新计算P1_DATE2-这可能是您看到的行为的原因
  • 可以理解的是,您只希望为新记录触发动态操作,这样您就可以在动态操作中为项目P1\u ID添加一个“ITEM IS NULL”的服务器端条件
  • 假设您的表单上有P1_ID(主键)、P1_DATE1和P1_DATE2

  • 创建一个动态操作,在更改P1_DATE1时设置P1_DATE2的值。使用PL/SQL表达式作为类型和PL/SQL表达式
    ADD_月(至日期(:P1_日期1,'DD/MM/YYYY'),24)
  • 将“初始化时点火”设置为false,这样当屏幕加载现有记录时,它不会重新计算P1_DATE2-这可能是您看到的行为的原因
  • 可以理解的是,您只希望为新记录触发动态操作,这样您就可以在动态操作中为项目P1\u ID添加一个“ITEM IS NULL”的服务器端条件

  • 谢谢回复,谢谢回复。我需要对日期进行验证,所以我有一个过程是在提交-验证后更新数据库中的日期,所以我不想使用动态操作将值设置到数据库中。有什么建议吗?你自己试过了吗?动态操作不会影响您的提交过程。他们只是在会话中设置值(就像您要更改它一样)。验证将在动态操作设置的值上进行。感谢Koen,解决方案运行良好,但在Apex 5.1中,在日期选择器中选择日期后,在字段中显示值需要至少10秒。不管怎样,我们都可以立即在现场获得日期。不,对不起,我没有5.1安装测试。谢谢回复。谢谢回复。我需要对日期进行验证,所以我有一个过程是在提交-验证后更新数据库中的日期,所以我不想使用动态操作将值设置到数据库中。有什么建议吗?你自己试过了吗?动态操作不会影响您的提交过程。他们只是在会话中设置值(就像您要更改它一样)。验证将在动态操作设置的值上进行。感谢Koen,解决方案运行良好,但在Apex 5.1中,在日期选择器中选择日期后,在字段中显示值需要至少10秒。不管怎样,我们可以立即在现场获得日期。不,对不起,我没有5.1安装测试。