以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教设计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=632) |
||||
-- 作者:cowpoke -- 发布时间:2008/9/20 20:50:00 -- 请教设计问题 计划设计一个表,其中有两列为[当月收入]和[当年累计收入],当年累计收入是按当月收入进行累加的,比如说一月份,[当月收入]为2000,那么[当年累计收入]也为2000,2月份[当月收入]为3000,[当年累计收入]就为5000,以此类推.
[此贴子已经被作者于2008-9-21 8:00:43编辑过]
|
||||
-- 作者:hbfnmxb -- 发布时间:2008/9/21 1:17:00 -- 应该先设计一个样表,这样说,让人不好懂 |
||||
-- 作者:cowpoke -- 发布时间:2008/9/21 8:02:00 -- 文件已上传. 找了半天,好像函数已不能有条件的进行求和了. [此贴子已经被作者于2008-9-21 10:06:06编辑过]
|
||||
-- 作者:cowpoke -- 发布时间:2008/9/21 11:37:00 -- 自己顶一下 |
||||
-- 作者:chips -- 发布时间:2008/9/21 12:15:00 -- 建议收入明细表不要再增加“当月收入、当年累计收入”列,可通过其它方式单独建表后计算。另外,此处不宜用事件解决。因为这2列不是简单地从当前行记录其它字段直接计算而来,而是根据当前表的日期范围累计计算的,不能在事件中(比如DataColChanged事件) 中设置代码一触发而牵动全身,数据量大时,速度就很慢。
有多种方法: 2、利用分组统计表生成器完成统计:在命令窗口可以使用,也可以在菜单和窗体按钮中设置。 Dim b As New GroupTableBuilder("统计表1",DataTables("收入明细表"))
e.DataRow("当月收入") = DataTables("收入明细表").Compute("Sum(收入)","[日期] >= #" & Date([年份], [月份],1) & "# and [日期] <= #",& Date([年份], [月份], DaysInMonth([年份], [月份])) & "#") e.DataRow("当年累计收入") = DataTables("收入明细表").Compute("Sum(收入)","[日期] >= #" & Date([年份], 1,1) & "# and [日期] <= #",& Date([年份], [月份], DaysInMonth([年份], [月份])) & "#") 4、不管是内表还是外部数据源,都可以通过建立SQL查询表得到查询结果。比如: SELECT Year(日期)AS 年, Month(日期) AS 月, SUM(收入) AS 月收入 FROM {收入明细表} GROUP BY Year(日期), Month(日期) [此贴子已经被作者于2008-9-21 13:14:35编辑过]
|
||||
-- 作者:cowpoke -- 发布时间:2008/9/21 12:28:00 -- 谢谢指点. 感觉这个狐表的代码计算好难理解,看似那个sql的命令容易理解一些,真有种滞身在河中的感觉. 真不知老六为何要把表达式的函数设置的如此简单. [此贴子已经被作者于2008-9-21 12:29:23编辑过]
|
||||
-- 作者:smileboy -- 发布时间:2008/9/21 13:07:00 -- 以下是引用cowpoke在2008-9-21 12:28:00的发言:
谢谢指点. 感觉这个狐表的代码计算好难理解,看似那个sql的命令容易理解一些,真有种滞身在河中的感觉. 真不知老六为何要把表达式的函数设置的如此简单. [此贴子已经被作者于2008-9-21 12:29:23编辑过] 不是老六,而是微软就这些函数 |
||||
-- 作者:狐仙 -- 发布时间:2008/9/21 13:19:00 -- 老六能不能自己写一点函数加上去呢? 不要一动不动就说易表是个特例,不能做一个与易表一样简单的狐表了。 |
||||
-- 作者:cowpoke -- 发布时间:2008/9/21 23:03:00 -- 我也这样想呢,那些代码都可以搞出来,为何就搞不出个函数来呢.就光一个for条件的函数,用代码得一大摞,而函数简单明了. |
||||
-- 作者:狐狸爸爸 -- 发布时间:2008/9/22 8:32:00 -- 以下是引用狐仙在2008-9-21 13:19:00的发言:
老六能不能自己写一点函数加上去呢? 不要一动不动就说易表是个特例,不能做一个与易表一样简单的狐表了。
|