限制数据重复提交,你用什么方式?

楼主
我是社区第369164位番薯,欢迎点我头像关注我哦~

前几天刚好有一位道友问我一个问题,说在填写表单的时候怎么才能让填写列表随着上报自动随之减少呢?

这里其实是一个限制数据重复提交的问题,相信大家在制作表单时,肯定都会遇到过需要限制成员或部门或其他特定字段重复提交的问题,那么大家都是怎么做的呢?

这里介绍三种方法,或许能为大家开拓更多的思路。

 

  • 第一种用法:一般用法
对字段设置校验为不允许重复值

这种限制重复提交的方式最简单,但是也有个弊端,比如想限制某个字段每天或每月只允许提交一次,就不能实现了,这时候就用到第二种方式——拓展用法了。

 

  • 第二种用法:拓展用法
利用辅助字段限制重复提交数据

比如有一个表单需要成员每个月提交一次,但是本月内不允许重复提交,怎么做?

需要根据现有的日期字段和成员字段组合一个辅助字段(排重字段),然后设置为不允许重复值来实现。

排重字段设置公式为:CONCATENATE(YEAR(上报日期),MONTH(上报日期),村名)

以上公式的作用就是取上报日期转换成年度月份,对年度月份和部门字段进行文本合并,再通过字段设置为不允许重复提交。

排重字段最好设置为隐藏,不让填报人看到,在表单属性中设置不可见字段赋值为始终重新计算,从而实现每个月只允许提交一次的目的。

 

  • 第三种用法:进阶用法
不允许重复提交的部门列表字段会自动随上报不显示

如果有一个下拉框包含多部门的表单,随着部门上报信息后不再出现在下拉框中,如何实现呢?这里需要用到智能助手。

首先有一个包含多部门的基础表单,增加一个辅助字段(是否填报),在填写表单中对部门进行数据联动,联动设置中的过滤条件为(是否填报)设置为空,这一步最重要。

再设置智能助手,当填写表单中新增数据时,执行动作为在基础表单的辅助字段(是否填报)中填写“是”。

随着填写表单的提交,被填写过的单位会通过智能助手在基础表单中自动标注“是否填报”为是,所以在填写表单中被标注过的单位就不会显示出来了,从未达到不能重复提交的目的。

这个场景经常出现在多人对多个单位进行信息采集时,如果其中有一个人提交了,其他人就不会再看到已上报的单位,从而较少错误,提高工作效率。

分享扩散:
参与人数 +1 F币 +15 理由
云团 + 15 太棒了,给你32个赞,么么哒

查看全部评分

沙发
发表于 2021-12-3 18:35:36 发布于APP客户端
???????这个问题我好多次好多次在技术群中问到了,总是说要用数据工厂,原来可以这么用第二和第三方案啊,太好了,多谢啊
板凳
发表于 2021-12-17 10:08:44
地板
发表于 2022-1-25 12:23:00
太感谢了,第二第三种方法解决了困扰我多时的问题
5楼
发表于 2022-1-25 14:22:59

关于第二种方法,完全可以设一个随机值,通过公式UUID(YEAR(上报日期))来作为排重值,第三种方法也只能针对一组动作(表1新增,表2修改)如果需要这个动作的系统过多就有点麻烦了,不过还是很感谢楼主,谢谢你拓宽了我的思路

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表