以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一代码咋写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=640)

--  作者:cowpoke
--  发布时间:2008/9/21 13:23:00
--  请教一代码咋写
e.DataRow("累计完成") = DataTables("收入台账").Compute("Sum(本月收入)","[年度]=本年度,[月份]<=本月份 )
这个公式的红色字部分怎么写?
谢谢

--  作者:chips
--  发布时间:2008/9/21 13:55:00
--  
 

关于:“[年度]=本年度,[月份]<=本月份”

实例:“[年度]=2008 and [月份] <=9”

统计代码的筛选条件都是以字符串形式提供,利用字符串的组合功能,可形成各种具体筛选条件,这就具备了很好灵活性。一般可以事先利用变量代替具体数值,再用字符串的级联形成完整的符合规则的筛选条件,这种案例,论坛中有很多。比如:

Dim 本年度 As integer=date.today.year

Dim 本月份 as integer= date.today.month
红色字改为:

"[年度]=\' " & 本年度 & " \' and [月份] <=\' " & 本月份 & " \' "


--  作者:cowpoke
--  发布时间:2008/9/21 14:08:00
--  
非常感谢.

"[年度]=\' " & 本年度 & " \' and [月份] <=\' " & 本月份 & " \' "
还有一问题打搅你,上面的红色字符部分,有一对单引号,一对双引号,一对&.可解释一下这三对的意义吗或帮助在哪部分?


--  作者:chips
--  发布时间:2008/9/21 14:11:00
--  
关于双引号和单引号的详细说明,请参考:
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=594&page=3

--  作者:kylin
--  发布时间:2008/9/21 14:25:00
--  
以下是引用chips在2008-9-21 13:55:00的发言:
 

关于:“[年度]=本年度,[月份]<=本月份”

实例:“[年度]=2008 and [月份] <=9”

统计代码的筛选条件都是以字符串形式提供,利用字符串的组合功能,可形成各种具体筛选条件,这就具备了很好灵活性。一般可以事先利用变量代替具体数值,再用字符串的级联形成完整的符合规则的筛选条件,这种案例,论坛中有很多。比如:

Dim 本年度 As integer=date.today.year

Dim 本月份 as integer= date.today.month
红色字改为:

"[年度]=\' " & 本年度 & " \' and [月份] <=\' " & 本月份 & " \' "

以上代码有误,改为:"[年度]= " & 本年度 & "  and [月份] <= " & 本月份 & "  "
Compute("Sum(本月收入)","[年度]= " & 本年度 & "  and [月份] <= " & 本月份 & "  ")

1、Compute的条件是字符串,必须用双引号包括起来,即紫色
2、这个字符串的内容是一个表达式,因为[年度]和[月份]是integer型,所以等号的后边的值不能用单引号包括起来
3、如果是个确定值,如以下行的绿色部份;如果是变量,就是那个写法,以后你就那样去套吧
Compute("Sum(本月收入)","[年度]= 2008  and [月份] <= 9  ")

--  作者:chips
--  发布时间:2008/9/21 14:33:00
--  
嗯。对整数变量,不用单引号括起来,对字符变量才用单引号括起来,对日期变量用#括起来。
--  作者:kylin
--  发布时间:2008/9/21 14:47:00
--  
以下是引用chips在2008-9-21 14:33:00的发言:
嗯。对整数变量,不用单引号括起来,对字符变量才用单引号括起来,对日期变量用#括起来。

日期变量不要什么符号,日期常量采用#括起来