以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]代码动态合成条件表达式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102770)

--  作者:Darcylau
--  发布时间:2017/6/25 16:03:00
--  [求助]代码动态合成条件表达式
尊敬的学长、兄台:

我依次看到“开发指南\\Foxtable编程\\Datatable\\常用方法\\Compute”中的事例四。
代码动态合成条件表达式: "[客户] = \'" & Customer & "\'" 的逻辑原理不明白。
为什么不直接是  "[客户] = \'Customer\'" 呢?
为何Customer要加双引号? 为何还要加字符链接符 & ?

盼复,感谢!

--  作者:有点色
--  发布时间:2017/6/25 16:10:00
--  

 这个是语法规则。参考

 

http://www.foxtable.com/webhelp/scr/0221.htm

 


--  作者:Darcylau
--  发布时间:2017/6/25 20:36:00
--  
您好!
您发的链接只是到如下两点:
1,”&可以用来连接任何数据,例如日期型、数值型,在连接之前会自动将非字符型的数据转换为字符型。
2,“&运算符前后必须有空格
似乎并没有回答我的问题。

我测试了 Total = dt.Compute("Sum(数量)", "[客户] = \'Customer\'")
数量输出的结果是都是0, 我知道这样写不对,但不知道所以然,请赐教。

--  作者:有点色
--  发布时间:2017/6/26 9:05:00
--  

 customer 是一个变量,如果变量需要和字符串组合起来,就必须用连字符 & 进行连接。

 

 所以要写成 dt.Compute("Sum(数量)", "[客户] = \'" & Customer & "\'")