以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于累积计算的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178674)

--  作者:allwin100
--  发布时间:2022/7/15 7:46:00
--  关于累积计算的问题

图片点击可在新窗口打开查看此主题相关图片如下:无标题1.png
图片点击可在新窗口打开查看
根据当前日历天数,只统计在当月天数内的产量,并保存在当天的累积产量中。
如统计7月11日-7月1日的产量,并保存至7月11日的月累积中,其它日期不计算。请问一下这个代码怎么写

--  作者:有点蓝
--  发布时间:2022/7/15 8:40:00
--  
按月设置条件参考:http://www.foxtable.com/webhelp/topics/2720.htm


--  作者:allwin100
--  发布时间:2022/7/15 23:27:00
--  
谢谢,改好了,试过,可以用,不过不知道有没有更好的,分享一下。只对当前月统计,我的数据库中会有以前的数据。也只改写工作当日的数据,以前的数据不动。
Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.Today.Day) \'获取当前日期
Dim dt3 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String\'筛选
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"\'筛选
Tables("日").Filter = Filter\'筛选
Dim Amount As Double’对全部数据进行求和
With DataTables("日")
    Amount = .Compute("Sum(日产量)")
End With
Dim Amount As Double = DataTables("日").Compute("Sum(日产量)","[日期] >= #" & dt1 & "#")’对指定日期的数据进行求和
DataTables("日").ReplaceFor("月产量", Amount, "[日期] = #" & dt2 & "#")\'对指定日期的数据进行填写

--  作者:有点蓝
--  发布时间:2022/7/16 9:22:00
--  
Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.Today.Day) \'获取当前日期
Dim dt3 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String\'筛选
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"\'筛选
dim dr as datarow = DataTables("日").find(Filter,"日期 desc")
if dr isnot nothing then
dr("月产量") = DataTables("日").Compute("Sum(日产量)",Filter)
end if

--  作者:allwin100
--  发布时间:2022/7/19 8:59:00
--  
谢谢了