以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据设定的时间与编号对记录表进行统计 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2307) |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/4/6 12:08:00 -- 根据设定的时间与编号对记录表进行统计 文件中.分,库存,出库,入库,三个表, 库存表中有两个报表年份和月份 我想在这两个列中输入其个年份与月份时,报表入库与报表出库列还有报表初期数列,自动对出库表与入库表进行统计 如我在两列中输入的是2009和3 希望报表初期数列中能自动计算出2009年2月份结存(根据[初期数列]中的初期数,自动加上09年3月份之前的全部入库-掉09年3月份之前的全部出库) 报表入库列中只统计2009年3月份的入库记录.出库也是 还有如果当我在年份列与月份列中输入2009与4 希望在 入库表 与 出库表 输入4月份记录后. 报表入库列 与 报表出库列 也能自动计算,马上统计出来 知道能够做出来... 不知道怎么做了.来请求学长们.. 感谢大家无私的帮助....
|
||||
-- 作者:czy -- 发布时间:2009/4/6 18:43:00 -- 没搞清楚入库和出库两列的作用。 大概是这样吧,DataColChanged事件 Dim dt1,dt2 As DataTable dt1 = DataTables("入库") dt2 = DataTables("出库") Dim sum1,sum2 As Double Dim d As Date Dim dr As DataRow = e.DataRow if e.DataCol.Name = "报表年份" OrElse e.DataCol.Name = "报表月份" Then if dr.IsNull("报表年份") = false AndAlso dr.IsNull("报表月份") = false Then d = CDate(dr("报表年份") & "-" & dr("报表月份") & "-01") sum1 = dt1.Compute("Sum(入库数量)", "[物品编号] = \'" & dr("物品编号") & "\' And [日期] < #" & d & "#") sum2 = dt2.Compute("Sum(出库数量)", "[物品编号] = \'" & dr("物品编号") & "\' And [日期] < #" & d & "#") dr("报表初期数") = dr("初期数") + sum1 - sum2 dr("报表入库数") = dt1.Compute("Sum(入库数量)", "[物品编号] = \'" & dr("物品编号") & "\' And [日期] >= #" & d & "# And [日期] < #" & d.AddMonths(1) & "#") dr("报表出库数") = dt2.Compute("Sum(出库数量)", "[物品编号] = \'" & dr("物品编号") & "\' And [日期] >= #" & d & "# And [日期] < #" & d.AddMonths(1) & "#") End if End If |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/4/6 19:04:00 -- 谢谢.. |
||||
-- 作者:czy -- 发布时间:2009/4/6 19:21:00 -- [原创]求购一进销存系统,最好带工资管理 看到了,入库和出库两列是表达式列,所以也就不必写代码了。 按你所说二楼代码应该差不多了。 |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/4/6 19:24:00 -- 报表入库与报表出库.报表初期,报表结存... |
||||
-- 作者:czy -- 发布时间:2009/4/6 19:27:00 -- 首次设置代码后,选中报表年份或报表月份列,点一下重置按钮,以后当在报表年份和报表月份中输入数据后就可以自动统计了。 [此贴子已经被作者于2009-4-6 19:29:17编辑过]
|
||||
-- 作者:卟离卟弃 -- 发布时间:2009/4/7 9:47:00 -- 非常感谢.. 呵 这样能解决我很多问题.... |