以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于多表统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=104676)

--  作者:紫色幽魂
--  发布时间:2017/8/2 23:11:00
--  [求助]关于多表统计

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看
我想在菜单这儿通过输入日期并确定生成下面这种表

图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看
如果人员表内的入住时间大于菜单输入的时间15天就进行平均计算,没有达到天数就不计算,弄了一晚上,从统计报表那儿就卡着了,请大神帮忙看看,这个需要怎么解决
http://pan.baidu.com/s/1pKIWfDD

--  作者:有点甜
--  发布时间:2017/8/2 23:44:00
--  

参考,水费自己参考着改。

 

Dim d As Date = Date.Today
Dim dt As DataTable = DataTables("汇总")
Dim dt1 As DataTable = DataTables("电表")
Dim dt2 As DataTable = DataTables("人员")
Dim dt3 As DataTable = DataTables("单价")

dt.DataRows.clear
For Each fh As String In dt2.GetValues("房号", "入住日期 <= #" & d.AddDays(-15) & "#")
    Dim dr1 As DataRow = dt1.find("房号 = \'" & fh & "\'")
    Dim drs2 = dt2.Select("房号 = \'" & fh & "\'")
    For Each dr As DataRow In drs2
        Dim ndr As DataRow = dt.addnew
        ndr("房号") = fh
        ndr("宿舍人员") = dr("姓名")
        ndr("性别") = dr("性别")
        ndr("部门车间班组") = dr("部门")
        ndr("入住日期") = dr("入住日期")
        If dr1 IsNot Nothing Then
            ndr("栋数及楼层") = dr1("栋数及楼层")
            ndr("用量_电量") = dr1("当月使用量")
            ndr("金额_电费") = dr1("金额")
        End If
        ndr("个人承担费用") = ndr("金额_电费") / drs2.count
    Next
Next


--  作者:紫色幽魂
--  发布时间:2017/8/3 22:55:00
--  回复:(有点甜)参考,水费自己参考着改。 ...
非常感谢