FineReport新手打怪第一集——《拿下填报!!》
「填报」是FineReport为了支持将信息填写并写入数据库,专门打造的功能
包括数据的增加、删除、修改操作,还有数据校验、excel导入、填写值智能联动等功能
信息收集作为数据工作中重要的阶段之一,填报的使用频率也越来越高
作为新手,绝对少不了填报报表抓狂的时候吧
俺第一次学习填报非常抓狂:
控件的显示值和实际值到底有啥区别?
单元格公式插入新行后没有生成对应的值?
明明是修改怎么在数据库里变成了新增记录?
这么多提交方式,每次都选智能提交最保险?
????
不要着急,我们整理了填报新手常见问题合集,一起拿下填报!!!
打怪共6个回合:「填报控件」→「填报提交」→「填报校验」→「填报联动」→「插入和删除」→「跨sheet页填报」
——————————————————————————————————————————————
【新手提示】新手最重要的是掌握基础功能使用,和动手、动手、动手×N!
【强烈推荐】「报表制作基础学习路径」—「数据填报基础」,带你快速入门填报基础👉 数据填报基础链接
————————————————————————————————————————————————
————————————第1回合「填报控件」————————————
❓「问题1」在控件里填了值,鼠标移开后变成了实际值,想要保留显示值怎么办?
如图:A2单元格鼠标移开后变成实际值“6”,B2单元格鼠标移开后保持实际值“酱油”
🔍「解决方法」对控件所在的单元格设置单元格形态为「数据字典」,且设置与控件的数据字典保持一致即可
❓「问题2」填报控件可以设置默认值吗?
🔍「解决方法」当然可以,直接在控件所在单元格位置,填入对应的默认值即可
————————————第2回合「填报提交」————————————
❓「问题1」明明是做的数据修改,怎么到数据库里却显示新增了一条记录
比如,此时填报报表是这样的👇
修改「哇哈哈」单价为5,修改提交后刷新,发现哇哈哈新增了一条记录,并没有在原数据上进行修改
🔍「解决方法」填报属性设置—内置SQL提交时,如果有修改和删除的需求,都需要勾选上主键
「主键」相当于 SQL 中 where 的效果,能找到数据库中对应的值
选择主键后,可以成功在原有数据上修改单价
❓「问题2」为什么内置SQL提交设置时,未修改不更新无法勾选
🔍「解决方法」提交类型是「智能提交」或「更新提交」时,才能勾选。而且需要注意填入的值必须全为单元格
————————————第3回合「填报校验」————————————
❓「问题1」提交条件和数据校验有啥区别,对填报提交到底有什么影响?
🔍「解决方法」「提交条件」只会在提交的时候过滤掉不符合条件的数据,并不会终止提交过程
「数据校验」是会对所有sheet分别按照各自的设置进行校验,不满足校验条件会终止提交
————————————第4回合「填报联动」————————————
❓「问题1」填报控件可以设置联动吗?就是某个单元格筛选一个值后,其他单元格能根据怎么可以实现?
效果示例:选中对应的地区,会出现对应的城市
🔍「解决方法1」新增数据集,通过SQL中的where语句限制该单元格的值来自其他单元格
比如:数据集ds2:SELECT 城市 FROM 雇员 where 地区='${C9}',通过 where 条件限制城市的数据为 C9 单元格(地区)选择后的值。然后设置城市下拉框控件的数据字典为ds2
🔍「解决方法2」使用SQL()函数。将下拉框控件的数据字典设置为公式,实际值输入公式使用SQL(数据连接名字,sql语句,列序号,行序号)函数,显示值为$$$
比如:实际值输入公式:SQL("FRDemo","select 城市 from 雇员 where 地区='"+C9+"'",1),显示值输入公式:$$$
🔍「解决方法3」使用value()函数。将下拉框控件的数据字典设置为公式,实际值输入公式:value(数据集名,列序号),显示值输入公式:$$$
比如:实际值输入公式:value("ds1","城市","地区",C9),显示值输入公式:$$$
————————————————第5回合「插入和删除」————————————————
❓「问题1」新插入行后,为啥单元格没有根据单元格公式自动生成新值
如图,此时报表设计的F列为“=C3-D3-E3”
第1行填入数据后可以计算出收入值 ( •̀ ω •́ )y
新增 第2行数据后无法计算出收入值 /(ㄒoㄒ)/~~
🔍「解决方法」需要把单元格的插入行策略改为原值
「原值」单元格设置后,新增单元格会继承原单元格内容,在有公式定义的单元格值时,插入行或列时单元格的公式会保留
插入N行收入值都会自动计算 (๑•̀ㅂ•́)و✧
❓「问题2」使用内置插入按钮,选中部分单元格后点击新增行,发现单元格会自动合并
🔍「解决方法」内置插入按钮,会以鼠标所在的单元格为父格进行插入和删除操作,所以点击按钮前需确保鼠标所在单元格是正确的位置即可
或者可以改用自定义插入删除按钮:自定义插入和删除按钮
————————————————第6回合「跨sheet页填报」——————————————
❓「问题1」填报的报表,如果需要跨sheet页获取数据,怎么取出对应sheet页的值
🔍「解决方法」通过公式=sheetname!cellname(=sheet页名字!单元格位置)就能实现跨 sheet 取值
比如,想获取shee2的E3单元格值,即可写成:=sheet2!E3
————————————————————————————————————————————————————
看完觉得有帮助滴,评论666~
为了收集本次分享的反馈,希望能抽出您2分钟时间填写一份问卷👇
https://www.wjx.cn/vm/rX1OtxC.aspx#
如果还有什么疑问评论区留言,继续打怪!!
感觉打怪成功的朋友,可以进阶学习填报哦💪💪
填报完整学习路径参考:填报学习路径