执行提取存储过程是快表表间公式的创新之一,可以将本报表的字段值传递给存储过程,执行后并返回结果到本报表。
本例中通过输入一个物资名称的关键字,传递给存储过程查询出和次关键字相似的物资信息及其库存数量。
首先需要在SQLServer中建立存储过程。接下来新建立一个表格模板样式如下:
定义如下字段:
主表字段:
明细表字段:
点击工具栏按钮进入表间公式界面。点击公式下方的【新建】按钮,新建一条表间公式。公式名称输入:“执行存储过程”,公式类型默认为【提取】。公式执行时机选择【按钮执行】并选择按钮
控件的名称。扩展控制选择执行前清空所有区域。勾选执行时删除空行,并勾选“按存储过程规则提取”(重要)。如下图:
不用选择来源表。
在【筛选并填充】选项卡,勾选开启SQL模式。并输入以下公式。
Exec CCGC 本报表.[F_402]|物资编号 As 本报表.[F_297]xFN,物资名称 As 本报表.[F_298]xFN,规格型号 As 本报表.[F_299]xFN,单位 As 本报表.[F_300]xFN,库存数量 As 本报表.[F_301]xFN
规则说明:
Exec procedure_name @parameter1, …n|resultfield As CurrentTable.FieldxFN,…n
Exec 存储过程名称 空格 参数1不留空格逗号 参数2不留空格 分隔符 不留空格 存储过程结果字段名 空格 As 空格 填充到本报表的字段名称 不留空格逗号 下一个填充字段
如下图:
设置完毕后点击下方的【保存】按钮,并关闭表间公式界面。在模板设计界面点击测试按钮,进行填报测试,首先输入一个物资名称的关键查询字,然后点击按钮执行公式效果如下: