以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  问一个弱弱的问题,这个语句哪不对?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=37613)

--  作者:worldespier
--  发布时间:2013/7/6 15:14:00
--  问一个弱弱的问题,这个语句哪不对?
请问下面的表达式,哪里不对?我对引号的问题仍然搞得不太清楚。



 jg =tb.compute("count(\'" & subject & "\')","\'"  & subject &  "\' >= \'" & score1 & "\' And \'"  & subject &  "\' <\'" & score2 & "\'")    


其中subject和score1、score2都是变量。谢谢。
 

--  作者:狐狸爸爸
--  发布时间:2013/7/6 15:22:00
--  

列名不需要用单引号:

 

jg = tb.compute("count(subject)", subject  & " >= \'" & score1 & "\' And  " & subject  & " < \'" & score2 & "\'")    

 

如果是数值列:

 

jg = tb.compute("count(subject)", subject  & " >= " & score1 & " And  " & subject  & " < " & score2)    

[此贴子已经被作者于2013-7-6 15:37:37编辑过]

--  作者:Bin
--  发布时间:2013/7/6 15:22:00
--  
jg =tb.compute("count(" & subject & ")", subject &  " >= \'" & score1 & " And "  & subject &  " <" & score2)    

你这个是数值类型吧,数值类型不需要单引号. 另外列名称也不需要单引号.

--  作者:狐狸爸爸
--  发布时间:2013/7/6 15:26:00
--  
我和bin的都不一定正确,最好有个简单例子,因为不知道你的subject是个列名,还是存储列名的变量,还有这一列的数据类型也不知道。
--  作者:worldespier
--  发布时间:2013/7/6 19:05:00
--  
尝试了一下,下面这个是正确的:

jg =tb.compute("count(" & subject & ")", subject &  " >= " & score1 & " And "  & subject &  " <" & score2)  

subject 是个字符型变量,存储列名的。score1和score2是数值型的变量,谢谢二位的帮助。我明白了变量不需要引上,而其中的字符需要引上。