FineReport数据校验公式问题

大佬们,公式如下,目的是校验填写的K2单元格的值与在数据库中是否存在,但是发现K2为空的情况下也会提示与数据库中的值重复

if(AZ2 = 1, K2 = sql("kingdee","select indexNumber from self_makeCollectionsBillEntry where indexNumber='" + K2 + "' ",2,2),true)

遂将公式改为:

if(AZ2 = 1&&LEN(K2)!=0, K2 = sql("kingdee","select indexNumber from self_makeCollectionsBillEntry where indexNumber='" + K2 + "' ",2,2),true)

但是发现&&LEN(K2)!=0,这个条件似乎不生效,不知道咋改了

FineReport 被迫营业的小白 发布于 2023-1-5 17:55
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-1-5 21:09

你只返回第一列数据。。。。没有第2列。所以这里取到永远为空。。

image.png

改成下面这样看,如果根据k2只有一行内容,那么如下

if(AZ2 = 1&&LEN(K2)!=0, K2 = sql("kingdee","select indexNumber from self_makeCollectionsBillEntry where indexNumber='" + K2 + "' ",1,1),true)

----------如果你根据k2返回了一列,有多行。那么就要改成如下,表示第一列的,第二行的结果-------------

if(AZ2 = 1&&LEN(K2)!=0, K2 = sql("kingdee","select indexNumber from self_makeCollectionsBillEntry where indexNumber='" + K2 + "' ",1,2),true)

最佳回答
0
snrtuemcLv8专家互助
发布于2023-1-5 19:37
改成&&len(k2)>0
  • 2关注人数
  • 276浏览人数
  • 最后回答于:2023-1-5 21:09
    请选择关闭问题的原因
    确定 取消
    返回顶部