Cheshire 发表于 2013-12-6 12:58:29

U8 11.x UFO报表中读取数据库函数getrecord问题

我在U8 11.x UFO 中设置了以下公式:

GETRECORD("Select [人员基本信息表].[姓名] From [人员基本信息表] Where[人员基本信息].[人员编码] = 011","",0,)

每一次重算都得到“请检查SQL语句“的报错。语法有什么不对吗?
最终我的人员编码条件会是自定义关键字 (个人)。可是现在连固定的人员编码条件都取不到。

BADICC 发表于 2013-12-6 13:06:55

下载看看,就是金币不足

81943641 发表于 2013-12-6 14:54:48

从语句语法看
Select [人员基本信息表].[姓名] From [人员基本信息表] Where[人员基本信息].[人员编码] = 011
where后面应该是 [人员基本信息表].[人员编码]吧,少个表字

Cheshire 发表于 2013-12-7 15:12:30

我手动把“表”加进去,还是一样报错。同样的信息。
而且我多试了一次,用向导产生SQL语句。很肯定条件表达式向导产生的是[人员基本信息].[人员编码],少个“表”字。

zhang376chao 发表于 2013-12-12 15:25:26

GETRECORD("Select [人员基本信息表].[姓名] From [人员基本信息表] Where[人员基本信息].[人员编码] = 011","",0,)   你的条件是 2个么那就是多个条件,应该用IN。GETRECORD("Select [人员基本信息表].[姓名] From [人员基本信息表] Where[人员基本信息].[人员编码]IN('011','0'))

zc376 发表于 2013-12-13 13:38:22

楼上正解:){:soso_e100:}

zzh0623 发表于 2013-12-13 14:56:08

我要好好学一下

Cheshire 发表于 2013-12-18 14:15:04

GETRECORD("Select [人员基本信息表].[姓名] From [人员基本信息表] Where[人员基本信息].[人员编码]IN('011','0'))   --> 报错“输入公式失败”

其实我的条件只有一个,就是人员编码=011。最后的那个0是代表横向显示。

Cheshire 发表于 2014-3-1 11:29:57

我找到答案了:...
全部用英文就可以。
例如:用向导写出来的
GETRECORD("Select [发货退货单主表].[自定义项5] From [发货退货单主表] Where[发货退货单主表].[客户简称]= 'ABC'","",1,)

系统一定报错。如果用
GETRECORD("Select DispatchList.cDefine5 From DispatchList WhereDispatchList.cCusName='ABC'","",1,)

就可以。

tomjc 发表于 2014-4-30 14:54:55

Cheshire 发表于 2014-3-1 11:29
我找到答案了:...
全部用英文就可以。
例如:用向导写出来的


厉害,正需要,谢谢

xsl_centerint 发表于 2014-4-30 17:23:07

向大师们学习

logodsk516 发表于 2014-11-26 09:28:52

如果不知道表的英文名称该怎么办呀

Cheshire 发表于 2014-12-18 12:36:59

Select [发货退货单主表].[自定义项5] 就是 Select DispatchList.cDefine5

所以 DispatchList = 发货退货单主表

数据字典可以查到。
页: [1]
查看完整版本: U8 11.x UFO报表中读取数据库函数getrecord问题