以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态合成表达式之一  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53132)

--  作者:1234567
--  发布时间:2014/6/30 14:16:00
--  动态合成表达式之一

图片点击可在新窗口打开查看此主题相关图片如下:1564.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/6/30 14:21:00
--  
表达式明明 等效于    [产品] =\'PD01\'    你怎么看出来的多了两个"?


你自己用messageobox.show("\'")  看看弹出来的是什么


字符串要成对出现 ""  双引号   好比 messageobox.show("123")  也绝对是显示123  而不是123"  

--  作者:1234567
--  发布时间:2014/6/30 14:30:00
--  

  这样为什么不行?

 

    ""[产品] = \'"   &   Vars("产品")     "\'""

 

       "[产品] = \'               PD01                    \'"   

 


--  作者:Bin
--  发布时间:2014/6/30 14:32:00
--  
双引号是不能直接输入的.如果你要显示 你下面那个效果

"""[产品] = \'"   &   Vars("产品")    &   "\'"""

 messageobox.show("123""")  你可以测试一下这个语句


--  作者:1234567
--  发布时间:2014/6/30 15:20:00
--  

版主,我还是没弄明白呀!

 

 动态合成表达式                                                                                              Sum =  DataTables("订单").Compute("Sum(数量)", "[产品] = \'" & Vars("产品") & "\'")

  

假定全局变量Vars("产品")的值为PD01,组合三部分的内容后,这个表达式就等效于:     Sum = Tables("订单").Compute("Sum(数量)", "产品 = \'PD01\'")

                         

下面我做个对应,少了两个引号?

 

Sum = Tables("订单").Compute("Sum(数量)",        "[产品] = \'"   &   Vars("产品"    &    "\'       )


 

Sum = Tables("订单").Compute("Sum(数量)"   "      产品 = \'           PD01                \'    "    )

 


--  作者:有点甜
--  发布时间:2014/6/30 15:24:00
--  
 楼主,对你彻底无语了。5楼的代码没有错。不要纠结这些细节,用多了就懂了。先把基础看一下。