以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  以日期定条件跨表汇总-已解決  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32820)

--  作者:realredred
--  发布时间:2013/5/8 21:28:00
--  以日期定条件跨表汇总-已解決

我现在做每周产量的汇总

 

现在能把"手雕汇总","电雕","执版"里的对应款类的总数都汇过去每周产量里

 

 
图片点击可在新窗口打开查看此主题相关图片如下:team.jpg
图片点击可在新窗口打开查看

代码写在"每周产量"表里的表属性-事件-DataRowAdding,如下:

 

\'每周产量 款数件数统计
If e.DataCol.Name = "部门" Then
    Dim dt1 = Tables("主页")(0,"开始日")\'
    Dim dt2 = Tables("主页")(0,"截止日")\'
    Dim nms() As String = {"执版","钉版","手雕汇总","电雕"}
    Dim sty1() As String = {"R","P","E","NL","BL","BG","H"}
   
    If e.NewValue Is Nothing Then
        For Each sty As String In sty1
            e.DataRow(sty) = Nothing
        Next
    Else
        For Each nm As String In nms
            For Each sty As String In sty1
                If    e.NewValue = nm Then
                    e.DataRow(sty) = DataTables(nm).Compute("Sum(检数量)","[款类] = \'" & sty & "\'")
                End If
            Next
        Next
    End If
End If

 

 

这样能做到,把三个表的款类的总数量,分別列在指定的列上

 
图片点击可在新窗口打开查看此主题相关图片如下:week.jpg
图片点击可在新窗口打开查看

 

 

 

具体都实现了,但想加入以日期范围之內 变量 dt1 dt2为条件 ,即"主页里的 "开始日"列和"截止日"列.

 
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 以"手雕汇总","电雕","执版"里的交货期检测筛选,达到做出汇总,碰钉了

 

想不出用什麼手法去实现,求教

 

[此贴子已经被作者于2013-5-9 9:56:26编辑过]

--  作者:jijianjsj
--  发布时间:2013/5/8 21:43:00
--  
Compute的第二个参数加上日期范围不行吗?
描述还是不太清楚
[此贴子已经被作者于2013-5-8 21:43:39编辑过]

--  作者:realredred
--  发布时间:2013/5/8 21:45:00
--  
以下是引用jijianjsj在2013-5-8 21:43:00的发言:
Compute的第二个参数加上日期范围不行吗?
描述还是不太清楚
[此贴子已经被作者于2013-5-8 21:43:39编辑过]

加过了,加了后完全帶不到数量过去

其實目的就是把 手雕汇总,电雕,执版,里,以指定的交货期內的款类件数,汇总到每周产量表里去

[此贴子已经被作者于2013-5-8 21:46:16编辑过]

--  作者:jijianjsj
--  发布时间:2013/5/8 21:48:00
--  
不太可能吧。。。。
你在试一下这样,先执行tables("").filter = 日期范围
然后e.DataRow(sty) = Tables(nm).Compute("Sum(检数量)","[款类] = \'" & sty & "\'")

--  作者:realredred
--  发布时间:2013/5/8 21:59:00
--  
以下是引用jijianjsj在2013-5-8 21:48:00的发言:
不太可能吧。。。。
你在试一下这样,先执行tables("").filter = 日期范围
然后e.DataRow(sty) = Tables(nm).Compute("Sum(检数量)","[款类] = \'" & sty & "\'")

这样目的是先在那几个表做日期筛选,然后在于每周产量表汇总?

试过不行,仍然是全总数汇过去,而且这方法不夠灵活.


--  作者:jijianjsj
--  发布时间:2013/5/8 22:01:00
--  
图片点击可在新窗口打开查看没有隐私就发项目上来看看,不行就自己做个项目上来看看,我觉得可行~!
--  作者:realredred
--  发布时间:2013/5/8 22:23:00
--  

现在做的项目是外连数据库的,不知只发文件行不行


--  作者:realredred
--  发布时间:2013/5/8 22:44:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:week1.zip

我做了一个简易版 上传了
--  作者:pyh6918
--  发布时间:2013/5/9 7:59:00
--  
Dim dt As  Row = Tables("主页").Current
Dim dt1 As Date =dt("开始日")
Dim dt2 As Date =dt("截止日")
If e.DataCol.Name = "部门" Then
    Dim nms() As String = {"执版","手雕汇总","电雕"}
    Dim sty1() As String = {"R","P","E","NL","BL","BG","H"}
    If e.NewValue Is Nothing Then
        For Each sty As String In sty1
            e.DataRow(sty) = Nothing
        Next
    Else
        For Each nm As String In nms
            For Each sty As String In sty1
                If e.NewValue = nm Then
                    e.DataRow(sty) = DataTables(nm).Compute("Sum(检数量)","款类 = \'" & sty & "\' and 交货期>=#" & dt1 & "# and 交货期<=#" & dt2 & "#")
                End If
            Next
        Next
    End If
End If

--  作者:realredred
--  发布时间:2013/5/9 8:19:00
--  
我就奇怪,也曾试过这样设
现在看狐友发的,才知道錯在哪里
忘记了日期要在前后加上#号图片点击可在新窗口打开查看
感谢各位帮忙图片点击可在新窗口打开查看
[此贴子已经被作者于2013-5-9 8:25:57编辑过]