填报插入一行,主键自动+1

今天做了一张填报报表,设置了‘插入行策略’为原值,之后每次点击插入空间,系统就会自动新建一行,并且内容与上一行一样。

现在我想在插入行生成的时候,让主键自动+1,并且还不是在点击行的基础上+1,而是查询到的最大的主键上+1.

实际情况如下图:

上图中,查询出的最大主键是SCT/KX.161019-000170-005,所以我就想要无论点击哪一行进行插入的时候,生成的主键是SCT/KX.161019-000170-006,再插入一行的主键是SCT/KX.161019-000170-007,

请问这样的效果要怎么实现呢?

FineReportbin_zhou1 发布于 2016-10-19 15:16
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共8回答
最佳回答
0
平凡发布于2016-10-19 15:23(编辑于 2023-9-6 09:34)
555
  • bin_zhou1 bin_zhou1(提问者)

    恩,知道用这个功能的,就是不知道具体的公式怎么写,没写过,请大神指点一下
    回复
    2016-10-19 15:38 
最佳回答
0
bin_zhou1发布于2016-10-19 15:38(编辑于 2023-9-6 09:34)
555
  • pangfusheng pangfusheng
    想要达到这样的效果吗?
    我入库单这个表现在有79条数据  公式如下 \"RK\"+(ROWCOUNT(\"入库单\")+row()-1) 插入行选择原值就可以了。
    回复
    2016-10-19 16:06 
  • 平凡 平凡

    比如SCT/KX.161019-000170-005 公式是
    left(\'SCT/KX.161019-000170-005\',21)+right((if((right(\'SCT/KX.161019-000170-005\',3)+1)>99,\"T\"+(right(\'SCT/KX.161019-000170-005\',3)+1),if((right(\'SCT/KX.161019-000170-005\',3)+1)>9,\"T0\"+(right(\'SCT/KX.161019-000170-005\',3)+1),\"T00\"+(right(\'SCT/KX.161019-000170-005\',3)+1)))),3)
    值是SCT/KX.161019-000170-006
    回复
    2016-10-19 16:14 
最佳回答
0
孤陌发布于2016-10-19 15:45(编辑于 2023-9-6 09:34)
555
最佳回答
0
孤陌发布于2016-10-19 16:06(编辑于 2023-9-6 09:34)
555
  • bin_zhou1 bin_zhou1(提问者)

    我的有点特殊,不是直接在后面跟上行的个数,而是在原有主键的值上+1

    比如我有我的主键字段叫ORL_GID,现一共有三个数据,分别是:
    SCT/KX.161019-000170-001
    SCT/KX.161019-000170-002
    SCT/KX.161019-000170-003

    那插入的行的主键我想要:SCT/KX.161019-000170-004

    这样的公式要怎么写呢?
    回复
    2016-10-19 16:12 
最佳回答
0
bin_zhou1发布于2016-10-19 16:12(编辑于 2023-9-6 09:34)
555
  • pangfusheng pangfusheng

    我这就是原有的主键加一啊 有区别吗? 你主键是后面是以数字来区分的,我取数据库的数据的总行数在这个基础上加一
    回复
    2016-10-19 16:14 
  • pangfusheng pangfusheng

    看清楚了 我上面说了 我这个表里有79条数据
    回复
    2016-10-19 16:16 
  • pangfusheng pangfusheng

    这是一样的如果 你的表里就只有3条数据  那我这个公式就会在3的基础上加1 然后每插入一行再在上一行的基础上加1 明白没。
    回复
    2016-10-19 16:18 
最佳回答
0
平凡发布于2016-10-19 16:14(编辑于 2023-9-6 09:34)
555
最佳回答
0
孤陌发布于2016-10-19 16:14(编辑于 2023-9-6 09:34)
555
  • bin_zhou1 bin_zhou1(提问者)

    恩,我刚刚试过了,你这个是原有的主键+1,但是跟我的需求还有一点出入。

    就是我想在任意一行点击插入,插入行的主键都等于最大的主键(也可以理解为所有主键的个数吧)+1,而不是点击的当前的主键+1

    这样要怎么做呢?
    回复
    2016-10-19 16:44 
最佳回答
0
孤陌发布于2016-10-19 16:16(编辑于 2023-9-6 09:34)
555
最佳回答
0
孤陌发布于2016-10-19 16:18(编辑于 2023-9-6 09:34)
555
最佳回答
0
bin_zhou1发布于2016-10-19 16:44(编辑于 2023-9-6 09:34)
555
  • pangfusheng pangfusheng

    大哥啊,你插入一行加1 插入2行加2 这有什么不对吗?
    按照你的来 主键是可能重复的啊
    回复
    2016-10-19 16:50 
  • pangfusheng pangfusheng

    除非你的情况是 每行的主键是不一样的 不了解你的业务逻辑 不知道怎么给你弄。
    回复
    2016-10-19 16:51 
  • 0关注人数
  • 903浏览人数
  • 最后回答于:2016-10-24 15:15
    活动推荐 更多
    热门课程 更多
    返回顶部