验证唯一值,防止姓名重复

1、填报报表

2、增加了数据验证

3、校验公式如下

sql("RENSHI", "select count(1) from user_info where name = '" + B4 + "'", 1) > 0

4、数据库名RENSHI,数据库表名为user_info

5、name字段用来保存姓名

6、cpt中B4单元格用来填写姓名

按照上述设定,在页面上填写,校验未生效。

FineReport 来无影 发布于 2021-9-26 11:58 (编辑于 2021-9-26 12:06)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
shirokoLv6资深互助
发布于2021-9-26 13:39

sql("RENSHI", "select count(1) from user_info where name = '" + B4 + "'", 1,1) = 0

如果你是插入表,这样就可以了,因为永远是插入,只要有就不让提交。

看你回答应该是智能提交的覆盖表。

可以在填报属性设置name字段为主键,这样就保证唯一了。

然后按文档设置保证页面内不会有重复行,https://help.fanruan.com/finereport/doc-view-2399.html

最佳回答
0
梦想的初衷Lv7初级互助
发布于2021-9-26 12:14

sql("RENSHI", "select count(1) from user_info where name = '" + B4 + "'", 1,1) > 0

  • 来无影 来无影(提问者) 谢谢解答,按照上述公式,遇到问题: 在网页上,即使录入的姓名在user_info中不存在,仍然提示数据验证中错误提示。。。
    2021-09-26 12:18 
最佳回答
0
HHHHH123Lv7中级互助
发布于2021-9-26 13:05

不是应该是=0吗   效验公式是满足的条件

  • 来无影 来无影(提问者) 比如之前填写过“张三”并提交成功。 加上这个校验功能之后,如果设置为=0,这一次再填写“张三”,那么校验sql公式值为1不等于0,就不会有提示。。。
    2021-09-26 13:09 
  • 来无影 来无影(提问者) 额,设置为=0就可以了,没明白。。。谢谢
    2021-09-26 13:11 
  • 来无影 来无影(提问者) 新问题: 设置为=0之后,可以录入“李思”并成功提交 F5之后,可以看到已经提交的“李思”,再想录入新的行“王武”,那么上一次填写的“李思”就会报错
    2021-09-26 13:16 
  • HHHHH123 HHHHH123 回复 来无影(提问者) 看你是想实现啥,这种写发,提交肯定会提交全部页面,你之前“李思”肯定就重复了 设置name主键不能实现吗
    2021-09-26 14:30 
最佳回答
0
黄源Lv6中级互助
发布于2021-9-26 13:28(编辑于 2021-9-26 13:32)

加个id吧,id不为空=1,id为空=0

  • 5关注人数
  • 624浏览人数
  • 最后回答于:2021-9-26 13:39
    请选择关闭问题的原因
    确定 取消
    返回顶部