以文本方式查看主题 - 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的发言:
嗯。对整数变量,不用单引号括起来,对字符变量才用单引号括起来,对日期变量用#括起来。 日期变量不要什么符号,日期常量采用#括起来 |