IF 公式返回错误或不执行公式的一部分
IF Formula returning error or not doing a section of the formula
我的报告中有一个公式 select 一个基于需求的字段:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) then
(if {EXT_TBL.EXT_KEY_TYPE} = "SO" and {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
then {EXT_TBL.EXT_TEXT})
else '0'
当我 运行 报告时它工作正常,直到我尝试加载特定页面。当我尝试加载页面时,出现 'The string is non numeric' 错误。该公式在另一个公式中被调用:
{COR_TBL.COR_EXPECTED_DATE} + 2 + ToNumber({@FRM_NOTES})
我有 运行 服务器上的查询:
SELECT * FROM EXT_TBL WHERE EXT_KEY_TYPE = "SO" AND EXT_ACTION_FLAG_9 = "Y";
这返回了两行数据。我已将其缩小到导致问题的特定条目,但在数据库中,该行在字段操作标志 9 中有 N 而不是 Y,因此它不应该在我的报告中抛出错误。
只有两条记录标记了操作字段 9,这两条记录都在 EXT_TEXT 字段中包含 7,所以我不知道为什么会收到错误。
我还尝试了嵌套的 if 语句:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) then
(if {EXT_TBL.EXT_KEY_TYPE} = "SO" then (if {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
then {EXT_TBL.EXT_TEXT}))
else '0'
但是还是报同样的错误
谢谢
我能够通过删除嵌套的 if 语句并将所有条件放在原始语句中来解决问题:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) AND {EXT_TBL.EXT_KEY_TYPE} = "SO"
AND {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
THEN {EXT_TBL.EXT_TXT} ELSE '0'
这似乎解决了问题。
我的报告中有一个公式 select 一个基于需求的字段:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) then
(if {EXT_TBL.EXT_KEY_TYPE} = "SO" and {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
then {EXT_TBL.EXT_TEXT})
else '0'
当我 运行 报告时它工作正常,直到我尝试加载特定页面。当我尝试加载页面时,出现 'The string is non numeric' 错误。该公式在另一个公式中被调用:
{COR_TBL.COR_EXPECTED_DATE} + 2 + ToNumber({@FRM_NOTES})
我有 运行 服务器上的查询:
SELECT * FROM EXT_TBL WHERE EXT_KEY_TYPE = "SO" AND EXT_ACTION_FLAG_9 = "Y";
这返回了两行数据。我已将其缩小到导致问题的特定条目,但在数据库中,该行在字段操作标志 9 中有 N 而不是 Y,因此它不应该在我的报告中抛出错误。
只有两条记录标记了操作字段 9,这两条记录都在 EXT_TEXT 字段中包含 7,所以我不知道为什么会收到错误。
我还尝试了嵌套的 if 语句:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) then
(if {EXT_TBL.EXT_KEY_TYPE} = "SO" then (if {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
then {EXT_TBL.EXT_TEXT}))
else '0'
但是还是报同样的错误
谢谢
我能够通过删除嵌套的 if 语句并将所有条件放在原始语句中来解决问题:
if not isnull({EXT_TBL.EXT_KEY_TYPE}) AND {EXT_TBL.EXT_KEY_TYPE} = "SO"
AND {EXT_TBL.EXT_ACTION_FLAG_9} = "Y"
THEN {EXT_TBL.EXT_TXT} ELSE '0'
这似乎解决了问题。