...
选中D4单元格,点击工具栏上的填报属性按钮,选择“可修改”、“绑定参数”,在弹出的选择参数窗口中选择步骤3中建立的“年”参数
填报属性相关设置项请参考:填报属性
6.设置指标值设置“流动资产”指标的年初余额
选中单元格B6,填入公式=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",D4,A6)
...
则该公式实现的功能是:在数据源“回写”所连接的数据库中,执行sql语句“select qichu from balance_sheet where f_year="2010" And kemu=trim("流动资产”)",并将返回的唯一结果数据,如“134002”,填写到单元格B6中。
函数说明:
SSR_ExecSQL
函数原型:SSR_ExecSQL(datasourceid,sql,rowIndex,columnIndex,param1,param2,...)
...
- 过滤条件中的值也可以进行传递,在sql中以 ?(问号)代替值,并且在公式中传递值,传递的类型可以是静态数据,也可以是单元格位置。
如:
=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim('流动资产')","2010"),表示将静态数据“2010”传递给第一个?的位置
=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim('流动资产')",D4),表示将D4单元格对应的值传递给第一个?的位置
- sql中若有多个过滤条件中的值需要传递,则在sql中以均以 ? 代替,公式中再传递多个值。
如:
=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",D4,A6),表示将D4单元格对应的值传递给第一个?的位置,A6单元格的值传递给第二个?的位置
- 传递的值类型:若传递给?的是单元格位置,则传递的值得类型由单元格的格式决定,单元格格式为字符串,则传递的值类型为字符串,若单元格的值为整形,则传递的值类型为整形;若传递给?的是静态数据,则传递的值类型均为字符串。
(4)rowIndex和columnIndex为结果集中的行位置和列位置,执行sql返回的结果集可能有多组数据,需要根据情况忽略或指定填入单元格的数据在结果集中的位置。行位置和列位置从0开始计数
...
如:=SSR_ExecSQL("DS.回写","select qichu,qimo from balance_sheet where f_year='2010' And kemu='流动资产'",2,1) 表示将执行sql返回的结果集中的第3行第2列的数据填入到单元格中
7.设置“流动资产”指标的“年末余额”
选中单元格C6,输入公式=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",D4,A6)
8.设置剩余指标数据
分别选中B6和C6单元格,复制到其他单元格,其他单元格会相应改变最后一个传递的单元格位置。也可手动输入公式,如下:
9.添加刷新按钮
(1)工具栏切换到“开发工具”菜单,插入“按钮”
(2)在弹出的指定宏窗口中选择“刷新报表”宏
(3)设置按钮的文字,高宽,并拖拽到以下位置
添加快捷按钮相关设置项请参考:添加快捷按钮
10.发布预览
点击工具栏上的“发布预览”按钮,保存电子表格。预览如下:
...