【问题标题】:Field must be entered not shown必须输入的字段未显示
【发布时间】:2020-05-30 15:36:05
【问题描述】:

我有一个必填字段。它有两个触发器:

  • 键下一项
  • 验证项目时

内置消息FRM-40202 - field must be entered没有显示在状态栏中,但是当我删除key next item触发器时它会显示出来。

请向我解释为什么会发生这种情况,我该如何解决这个问题,或者 - 至少 - 如何显示内置消息。

谢谢

【问题讨论】:

  • 了解触发器中的代码肯定会有所帮助,尤其是在 KEY-NEXT-ITEM 触发器中。

标签: oracle oracleforms


【解决方案1】:

检查表单的属性面板,它的“验证单元”属性。它设置为什么?如果您希望在离开该必需项时触发验证,则应为“项”。

除此之外,KEY-NEXT-ITEM 触发器在这里是为了向后兼容 Forms 3.0,这是使用字符模式的最后一个版本,其中不涉及 鼠标(即仅通过键盘操作进行导航)。

现在,人们使用鼠标点击这里然后点击那里在表单中移动,所以不能保证KEY-NEXT-ITEM 会触发。它的代码应该移动到您已经拥有的WHEN-VALIDATE-ITEM。因此,如果它们都包含相同的代码,并且您(如您所说)删除了 KEY-NEXT-ITEM 触发器,那就这样吧。反正也没用。

【讨论】:

  • 谢谢,我已将验证单元更改为项目,但同样的问题,项目表现正确我的意思是在我输入值之前我无法移动到下一个项目,但我需要正常构建-in 消息显示给用户!!!当按住 enter 键时,它会卡在项目上,直到用一个值填充它。奇怪的是我的项目是数字类型,所以当输入一个字符时,内置消息 frm-50016 正常显示,我猜我的问题与所需的属性有关!
  • “需要显示正常的内置消息”是什么意思?什么是“正常消息”?看起来像弹出窗口而不是状态行中的消息?如果是这样,请查看 ON-ERROR 和/或 ON-MESSAGE 触发器是否有帮助。在那里,您将“捕获”您想要的任何错误代码,并使用两个连续的 MESSAGE 调用,或使用警报(前者更简单)。表单在线帮助系统中有这些触发器的示例,请查看。
  • 我的意思是为什么项目验证正确但没有在状态栏上显示通常的 frm-40202 ??
  • 我不知道。
猜你喜欢
  • 1970-01-01
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 2011-01-04
  • 2015-12-10
相关资源
最近更新 更多