1. 问题描述编辑
有如下图情况,只给出一系列的编号,根据编号自动在数据库中匹配出对应的数据,然后再对数据进行修改操作:
2. 解决思路编辑
在对应的单元格中,通过 SQL 公式取出对应的值,然后在公式的单元格中设置插入行策略为原值即可。
3. 解决步骤编辑
1)如下图,新建一张模板,模板样式如下图:
2)如下所示,设置产品id的下拉框属性:
3)设置产品名称公式,公式为:sql("FRDemo","select 产品名称 from 产品 where 产品id="+A3,1,1),如下图:
注:函数的用法可参考:SQL 函数
4)同理设置C3,D3,E3,F3单元格的公式,如下:
C3:sql("FRDemo","select 单位数量 from 产品 where 产品id="+A3,1,1)
D3:sql("FRDemo","select 成本价 from 产品 where 产品id="+A3,1,1)
E3:sql("FRDemo","select 单价 from 产品 where 产品id="+A3,1,1)
F3:sql("FRDemo","select 库存量 from 产品 where 产品id="+A3,1,1)
注:这里的产品编号 A3 单元格的内容为数字,所以公式里的 B3 不需要加''
若产品编号为字符串,则 A3 需要加'',相应公式应修改为:sql("FRDemo","select 产品名称 from 产品 where 产品id='"+A3+"'",1,1)
5)设置 B3:F3 元格的插入行策略为原值,即保留原有的公式。
6)点击填报预览即可查看效果
在线查看模板效果请点击:自动匹配.cpt
已完成模板,可参考:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\自动匹配.cpt