Foxtable(狐表)用户栏目专家坐堂 → 怎样将期初、入库、出库这三张表的数据自动填充到进销存表中并自动计出库存?


  共有41247人关注过本帖平板打印复制链接

主题:怎样将期初、入库、出库这三张表的数据自动填充到进销存表中并自动计出库存?

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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/6/23 12:14:00 [只看该作者]

If MainTable.Name = "进销存" Then
    DataTables("进销存").DataRows.Clear()
    Dim f As New Filler
    f.SourceTable = DataTables("期初") '指定数据来源
    f.SourceCols = "日期,代码,材料名称,摘要,期初数量,期初金额" '指定数据来源列
    f.DataTable = DataTables("进销存") '指定数据接收表
    f.DataCols = "日期,代码,材料名称,摘要,期初数量,期初金额" '指定数据接收列
    f.Fill() '填充数据
    
    Dim f2 As New Filler
    f2.SourceTable = DataTables("入库") '指定数据来源
    f2.SourceCols = "入库日期,代码,材料名称,摘要,入库数量,入库金额" '指定数据来源列
    f2.DataTable = DataTables("进销存") '指定数据接收表
    f2.DataCols = "日期,代码,材料名称,摘要,入库数量,入库金额" '指定数据接收列    
    f2.Fill() '填充数据

    Dim f3 As New Filler
    f3.SourceTable = DataTables("出库") '指定数据来源
    f3.SourceCols = "出库日期,代码,材料名称,摘要,出库数量,出库金额" '指定数据来源列
    f3.DataTable = DataTables("进销存") '指定数据接收表
    f3.DataCols = "日期,代码,材料名称,摘要,出库数量,出库金额" '指定数据接收列    
    f3.Fill() '填充数据

    Dim drs As List(of DataRow) = DataTables("进销存").Select("", "代码,日期") '注意排序参数
    drs(0)("结存数量") = drs(0)("期初数量") 
    drs(0)("结存金额") = drs(0)("期初金额") 
    dim n1,n2 as Double
    For i As Integer = 1 To drs.Count - 1  '从第二行开始逐行计算累计
         n1 = IIF( drs(i)("代码") = drs(i-1)("代码"),drs(i-1)("结存数量"),0)
         n2 = IIF( drs(i)("代码") = drs(i-1)("代码"),drs(i-1)("结存金额"),0)
         drs(i)("结存数量") = drs(i)("期初数量") + n1+ drs(i)("入库数量")- drs(i)("出库数量")
         drs(i)("结存金额") = drs(i)("期初金额") + n2+ drs(i)("入库金额")- drs(i)("出库金额")
    Next
End If

 回到顶部
总数 97 1 2 3 4 5 6 7 8 9 10 下一页