请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
kyyia(uid:56387)
职业资格认证:尚未取得认证
填报应用 >> 填报FAQ >> 自增长id导致的重复填报
本帖最后由 加菲喵 于 2015-9-10 16:47 编辑 自增长id导致的重复填报 1. 问题描述 当填报表使用数据库自增长ID,并且数据展示在页面上,提交入库时已有的数据总是会进行重复提交。在一般的填报中,可以通过设置主键和未修改不提交来控制。但在id自增长的情况下,如果页面端展示了id字段,此时如果数据由excel导入,页面上的部分数据会被覆盖,这种设置方法会导致数据库已有数据发生更改;如果没页面端没有展示出id字段,提交时会导致页面上已有数据再次提交。这种情况下有什么解决方法呢? 2. 实现思路 针对上述问题,可以引入一个判断字段,状态设置为0和1,页面上将要入库的字段置为0,入库后自动记为1,这样就可以判断哪些是要新入库的数据,避免数据的重复提交。 3. 示例 设置一张带有自增长id的填报表,新增字段tag,如下: 填报属性设置如下,设置提交条件为tag值为0时提交,入库后的值为1。 填报时,将tag值记为0: 入库过后页面刷新,tag值变为1。当页面端有数据修改或者有excel导入的数据时,这样的方式就能保证数据库中不重复填报。
专题总结 >> 函数 >> 常见函数列表 >> 半年月报日期处理
半年月报日期处理 1. 问题描述 很多时候为了全面反映情况,及时了解过去发展的状况及问题,一些分析部门会以月报的形式进行统计分析。日常数据库记录的信息比较多,可以统计出每月的信息,制作日报时,可以直接用sql处理好的关于月份的罗列。但有时,如果当月没有数据,我们希望在报表中也能有所展示,就可以通过对模板中的参数进行处理,从而得到选定时间段内的月份信息。 2. 案例讲解 2.1日期参数设置: 以半年期的月报为例,设置查询的开始时间start和结束时间end,均为日期参数,格式yyyy-MM。预览时,如果希望直接就展示出过去半年的情况,可以设置初始值为: =IF(MONTH(TODAY())==1,DATE(YEAR(TODAY())-1,6,1),DATE(YEAR(TODAY()),MONTH(TODAY())-6,1)) 公式中判断了其是否跨越一年。如现在是2015年9月,则展示日期为2015年3月至9月。 2.2表格部分罗列出选定时间区间的月份 如描述里所说,如果数据库里本身没有某个月的信息,该月份就不会被罗列。本文绕过sql,提供一种基于页面上已经选好的参数设置。 (1)随便选择一个单元格,本案例中以f1为例,写入值: =RANGE(todate($start+'-01'),todate($end+'-01'),1) 罗列出选定时间段内的所有日期; (2)然后再选一个单元格,比如g1,写入值: =concatenate(year(f1),right(concatenate('0',month(f1)),2)) 拼接出罗列值的年份与月份,其中为了保持格式一致,我们选择以“201509”的方式显示,即1-9月显示时前面多个0; (3)在需要展示月份的地方B3,写入=UNIQUEARRAY(g1),使用UNIQUEARRAY的目的是去除重复项。 模板设置截图如下: 3. 设置不需要展示的行为隐藏 预览如下:
个人成就
内容被浏览12,613
加入社区9年175天
返回顶部