K/3自定义报表-KPGETSQL函数应用之一
金蝶云社区-云社区用户A8mD1234
云社区用户A8mD1234
0人赞赏了该文章 1,797次浏览 未经作者许可,禁止转载编辑于2016年02月02日 22:46:27


KPGETSQL函数——Select语句及存储过程

K/3帮助手册
数据库取数公式KPGETSQL,实现执行存储过程或SQL返回值显示到单元格的功能,即返加记录集第一行指定列的数据。提供四个参数录入

存储过程或SQL
带参数的存储过程调用或SQL语句,必须加“@”作为结束标记。如可录入SELECT * FROM ……@。
定计科目有外币核算时,点击“外币”键转换到外币凭证格式。 存储过程或者SQL语句可以使用系统预设的关键字: <__RPTYEAR__>,数值型;<__RPTPERIOD__>,数值型;<__RPTENDPERIOD__>,数值型;<__RPTBEGINDATE__>,字符串型; <__RPTENDDATE__>,字符串型。这些关键字取值为在公式取数参数设定的“缺省年度”,“开始期间”,“结束期间”,“开始日期”,“结束日期”。注:1、这些特殊关键字只做sql语句中的过滤条件,存储过程中的参数之用。不能作为别名,存储过程名。2 、不能嵌套使用特殊关键字的前缀后缀3 、特殊关键字不区分大小写。4 、在使用时,字符串型关键字外需要添加单引号,如日期。
返回值列位置 取返回值的列位置,如0,表示第一列的返回值,1,表示第二列的返回值。以此类推
返回值类型 D表示数字,S表示字符
账套配置名 可实现从不同的账套取数。空时默认为当前账套

1、select语句示例
=KPGETSQL("SELECT SUM(FAMOUNT) FROM T_VOUCHERENTRY@","0","D","")
可以正常得到数据

SQL中执行的语句如下:
SELECT SUM(FAMOUNT) FROM T_VOUCHERENTRY

2、存储过程示例
=KPGETSQL("FYTDAMOUNT '1002','2016'@","0","D","")
注意此处需要去掉exec,否则提示“#SQL语句错误或返回空记录集,使用S参数返回详细描述

将D改为S后
=KPGETSQL("FYTDAMOUNT '1002','2016'@","0","S","")
继续报错“关键字 'EXEC' 附近有语法错误。

SQL中执行的语句如下:
EXEC FYTDAMOUNT '1002','2016'

供参考。