Foxtable(狐表)用户栏目专家坐堂 → 请教高效流水帐统计问题


请教高效流水帐统计问题
选择项
222222
您还未登录,不能参与。 [ 参与人数 0 人 截止时间:2041/2/10 20:05:00 | 查看参与用户]
您需要达到所设定的数值才能参与:文章 0 积分 0 魅力 0 金钱 0 威望 0
  共有7276人关注过本帖树形打印复制链接

主题:请教高效流水帐统计问题

帅哥哟,离线,有人找我吗?
sxqq123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
请教高效流水帐统计问题  发帖心情 Post By:2013/9/26 20:05:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:蒸发收碱.table


图片点击可在新窗口打开查看此主题相关图片如下:9月26日.jpg
图片点击可在新窗口打开查看
我使用高效流水帐模式统计每天收碱数量,出现问题是:

1、当月第一个数据不能正常统计(见项目例子)。

2、当月最后一天数据不能正常统计(曾经出现过)。

3、表中日期到24日,在今天(26日)出现月份切换(见图片)。

请教大师是什么原因?如何处理?


 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 20:44:00 [显示全部帖子]

第三个问题是:应该在日期列出现26日时才切换到下个月份,现在表中日期列只统计到24日,表相当于转换到下个月份,因为没有输入数据所以显示空白,相当于在今天(9月26日)执行了表中没有的26日,不清楚是什么原因造成的?请教

 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 21:07:00 [显示全部帖子]

我这现在就是这种情况,能不能麻烦你指导一下


 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 21:10:00 [显示全部帖子]

 

[此贴子已经被作者于2013-9-26 21:27:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 21:48:00 [显示全部帖子]

为什么  If drs.Count = 1 Then
            e.DataRow("全月用量_标号统计")=e.DataRow("数量")
        Else
下起作用?

而必须使用drs(0)("全月用量_标号统计") = drs(0)("数量")


 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 22:08:00 [显示全部帖子]

第三个问题我怀疑原因可能是:我设计的加载是代码与筛选代码不一致?

加载代码如下;

Dim dn As Date = Date.Today
If dn.Day < 26 Then
    dn = dn.AddMonths(-1)
End If
Dim dn1 As Date = New Date(dn.Year,dn.Month,26)
Dim dn2 As Date = dn1.AddMonths(1).AddDays(-1)
Dim Filter As String
Filter = "日期 >=  '" & dn1 & "'And 日期 <= '" & dn2 & "'"

With DataTables("蒸发收碱")
    .LoadFilter = Filter

筛选代码如下:

Dim dt As Date = e.DataRow("日期")
If dt.Day < 26 Then
    dt = dt.AddMonths(-1)
End If
Dim dt1 As Date = New Date(dt.Year,dt.Month ,26)
Dim dt2 As Date = dt1.AddMonths(1).AddDays(-1)
If e.DataCol.name = "日期" Then
    If e.DataRow.IsNull("日期") = False
        Dim Filter As String
        Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
        Tables("蒸发收碱").Filter = Filter
    End If
End If

    .Load()
End With

如果是这样,在第二天统计前一天数据情况下(最主要是26日统计25日的数据),如何处理比较好?如果不是这个原因?请教大师指点可能还会有什么可能,我再处理,谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
sxqq123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2307 威望:0 精华:0 注册:2012/11/14 11:25:00
  发帖心情 Post By:2013/9/26 22:10:00 [显示全部帖子]

.Load()
End With应该是在前面,复制时放错了,不好意思,谢谢

 回到顶部