SQL函数,显示结果为#NAME

1、select Month04_Value from ys_pzzb1_cs_01 where Province_Name="北京" and RealEstate_Name="天安门"

公式在Navicat 运行,可以得出正确的结果。

微信截图_20231015181925.jpg

2、在设计器中,公式校验也是通过的,公式如下:

sql("JDBC2","select Month01_Value from ys_pzzb1_cs_01 where Province_Name='1.汇总表-项目级'!B4 and RealEstate_Name='1.汇总表-项目级'!C4" )

因为设计器中,有设置 Province_Name 和 RealEstate_Name 参数,所以 公式中这里替换了参数

微信截图_20231015182056.jpg

3、到了填报预览环节,当参数还没填入是,对应单元格这里 就显示 #NAME,是不是因为没有写入参数时,sql运行结果为空的原因?

但是正确填入参数后,单元格依然显示  #NAME

微信截图_20231015183116.jpg

4、填报的单元格设置为 数字控件 格式为数值,业务逻辑就是想通过省份和项目两个参数,先从数据库中查询并显示一个初始值,然后填报时,再根据实际情况对这个初始值再进行修改提交。

初始值在一个数据库表,修改后再提交值会写入一个新的数据库表里。

5、刚开始觉得是跟初始值所在数据库的列字段的格式有关,调整为double后,依然存在#Name这个问题。

FineReport kevin0428 发布于 2023-10-15 18:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
1
CD20160914Lv8专家互助
发布于2023-10-15 19:17

你的语法是错误的要这样:

如下方式是可以的,我在自己的电脑中测试了!!

sql("JDBC2","select Month01_Value from ys_pzzb1_cs_01 where Province_Name='"+'1.汇总表-项目级'!B4 +"' and RealEstate_Name='"+'1.汇总表-项目级'!C4+"'",1,1 )

  • kevin0428 kevin0428(提问者) 老师,您真厉害,一下子就找到问题的根源了,我顺便问下,您写的这个公式,最后的这个 1,1 是代表什么意思啊啊? \'\"+\'1.汇总表-项目级\'!B4 +\"\' 还有这里,如果是引用单元格,这里就是最外层 单引号+双引号 是固定的这个格式对吧?
    2023-10-16 09:44 
  • CD20160914 CD20160914 回复 kevin0428(提问者) 1,1表示第一列,第一行的值,只返回一个值。你是跨表引用,所以格式就是固定的。
    2023-10-16 10:41 
  • 2关注人数
  • 195浏览人数
  • 最后回答于:2023-10-15 19:17
    请选择关闭问题的原因
    确定 取消
    返回顶部