查询最大值是3220,为什么新增数据是1697

image.png

image.png

image.png

image.png

需要实现序号按照P_MAXID的最大值+1自增

FineReport nesy 发布于 昨天 14:21 (编辑于 昨天 14:28
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
用户k6280494Lv6资深互助
发布于昨天 14:23(编辑于 昨天 14:23

你查的这个日期最大值,查全部最大值不要这个条件

image.png

  • nesy nesy(提问者) 去掉这个条件后,变成1002
    2025-05-14 14:27 
  • 用户k6280494 用户k6280494 回复 nesy(提问者) 你这个是字符串类型啊,要数据类型才可以
    2025-05-14 14:28 
  • 用户k6280494 用户k6280494 回复 nesy(提问者) 改成int类型,或转成int类型
    2025-05-14 14:28 
  • nesy nesy(提问者) 回复 用户k6280494 什么意思,我的公式不是用了format吗?
    2025-05-14 14:28 
  • 用户k6280494 用户k6280494 回复 nesy(提问者) 就是数据库字段是字符串类类型的,max求最大值要数据类型 int float
    2025-05-14 14:30 
最佳回答
0
snrtuemcLv8专家互助
发布于昨天 14:28

你先直接=value("P_MAXID",1,1)

看看效果

对的话,就是format时候前面加法出问题了

  • nesy nesy(提问者) 直接变成空
    2025-05-14 14:31 
  • snrtuemc snrtuemc 回复 nesy(提问者) 那就是value("P_MAXID",1,1)取值问题,改成 P_MAXID.select(ZID) 或者直接sql()函数数据库取数
    2025-05-14 14:34 
  • snrtuemc snrtuemc 回复 nesy(提问者) 我最怀疑就是你的日期参数是加载后选的,那就取不到值,只能用sql()函数现取才可以
    2025-05-14 14:37 
  • nesy nesy(提问者) 回复 snrtuemc 这个治标不治本,确实可以取3221,但是修改时间数据,会新增行,只有zid是主键,新增行序号全是一样的3222
    2025-05-14 14:38 
  • snrtuemc snrtuemc 回复 nesy(提问者) 这个麻烦了,好像你的seq()不会变,需要一条数据填报一次,在取才能变。。。
    2025-05-14 14:41 
最佳回答
0
Z4u3z1Lv6专家互助
发布于昨天 14:47

序号为数据库主键时通常采用:

把数据库ID放在A2单元格,插入策略为空值并隐藏,参考https://help.fanruan.com/finereport/doc-view-545.html 文档生成显示ID(没什么大用就是为了好看),然后配置两个内置SQL提交:一个智能提交,提交条件是LEN(A2)>0;一个插入提交,提交条件是LEN(A2)=0且提交的字段中不要用数据库的ID字段

image.png

image.png

  • 3关注人数
  • 72浏览人数
  • 最后回答于:昨天 14:47
    请选择关闭问题的原因
    确定 取消
    返回顶部