以文本方式查看主题

-  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=26360)

--  作者:blackzhu
--  发布时间:2012/12/1 16:33:00
--  
Dim drs As List(Of DataRow)
For Each dr As DataRow In DataTables("进鸡记录").DataRows
    drs = DataTables("饲养标准").Select("[品种] = \'" & dr("品种") & "\'")
    For Each dr1 As DataRow In drs
        Dim dx As DataRow = DataTables("生产预算").AddNew
        dx("日龄") = dr("日龄")
        dx("进栏公鸡") = dr("进栏公鸡")
        dx("进栏母鸡") = dr("进栏母鸡")
        dx("周龄") = dr1("周龄")
        dx("产蛋率") = dr1("产蛋率")
        dx("公鸡采食量") =dr1("公鸡采食量")
        dx("母鸡采食量") = dr1("母鸡采食量")
        dx("品种") = dr("品种")
        dx("批次") = dr("批次")
    Next
Next

看看这样对不?

--  作者:lin_hailun
--  发布时间:2012/12/1 16:47:00
--  
 楼主自己改一下吧,大概这样做,如果要加条件的话,希望说清楚些。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:sgs
--  发布时间:2012/12/2 16:03:00
--  

\'//在4楼的基础上增加下品种判断:

Dim dt_jilu As DataTable = DataTables("进鸡记录")
Dim dt_biaozhun As DataTable = DataTables("饲养标准")
Dim dt_yusuan As DataTable = DataTables("生产预算")

dt_yusuan.StopRedraw()
dt_yusuan.DataRows.Clear
For Each dr_jilu As DataRow In dt_jilu.DataRows
    Dim count As Integer = 0
    For Each dr_biaozhun As DataRow In dt_biaozhun.Select("品种 = \'"& dr_jilu("品种") &"\'")
        For i As Integer = 1 To 7
            Dim ndr As DataRow = dt_yusuan.AddNew()
            ndr("日期") = dr_jilu("日期").AddDays(count)
            ndr("批次") = dr_jilu("批次")
            ndr("品种") = dr_jilu("品种")
            ndr("日龄") = count + 1
            ndr("周龄") = count \\ 7 + 1
            ndr("进栏公鸡") = dr_jilu("进栏公鸡")
            ndr("进栏母鸡") = dr_jilu("进栏母鸡")
            ndr("公鸡采食量") = dr_biaozhun("公鸡采食量")
            ndr("母鸡采食量") = dr_biaozhun("母鸡采食量")
            ndr("产蛋率") = dr_biaozhun("产蛋率")
            count += 1
        Next
    Next
Next
dt_yusuan.ResumeRedraw()


--  作者:sgs
--  发布时间:2012/12/2 17:57:00
--  
希望怎么优化?
--  作者:lin_hailun
--  发布时间:2012/12/3 13:08:00
--  
 代码……

Dim dt_jilu As DataTable = DataTables("进鸡记录")
Dim dt_biaozhun As DataTable = DataTables("饲养标准")
Dim dt_yusuan As DataTable = DataTables("生产预算")

dt_yusuan.StopRedraw()
dt_yusuan.DataRows.Clear
For Each dr_jilu As DataRow In dt_jilu.DataRows
    Dim count As Integer = 0
    For Each dr_biaozhun As DataRow In dt_biaozhun.Select("品种 = \'"& dr_jilu("品种") &"\'")
        For i As Integer = 1 To 7
            Dim ndr As DataRow = dt_yusuan.AddNew()
            ndr("日期") = dr_jilu("日期").AddDays(count)
            ndr("批次") = dr_jilu("批次")
            ndr("品种") = dr_jilu("品种")
            ndr("日龄") = count + 1
            ndr("周龄") = count \\ 7 + 1
            ndr("进栏公鸡") = dr_jilu("进栏公鸡")
            ndr("进栏母鸡") = dr_jilu("进栏母鸡")
            ndr("公鸡采食量") = dr_biaozhun("公鸡采食量")
            ndr("母鸡采食量") = dr_biaozhun("母鸡采食量")
            ndr("产蛋率") = dr_biaozhun("产蛋率")
            ndr("产苗量") = dt_yusuan.DataRows(IIF(count >= 21, count-21, 0))("产蛋量")
            count += 1
        Next
    Next
Next
dt_yusuan.ResumeRedraw()

--  作者:lin_hailun
--  发布时间:2012/12/3 13:42:00
--  
以下是引用liuruihua在2012-12-3 13:28:00的发言:

非常感谢,请教一下:Count +=1,这一句是什么意思?


count = count + 1

增加1的意思。

--  作者:lin_hailun
--  发布时间:2012/12/6 9:03:00
--  
 大致这样……

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table