以文本方式查看主题

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

--  作者:zqxzhs
--  发布时间:2016/3/10 10:57:00
--  求助:多值字段的计算
老师:帮助中的多值字段的计算的结果怎样才能保存到一个指定的数据表的对应列中呢
--  作者:大红袍
--  发布时间:2016/3/10 11:30:00
--  

这个内容? http://www.foxtable.com/help/topics/2400.htm

 

生成表以后,再根据自己的需要把内容填充到自己的数据表里去。

 

具体问题上传例子。

 

 


--  作者:zqxzhs
--  发布时间:2016/3/10 16:03:00
--  

上传附件请老师给看看

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

求出结果,把他工资填入到,工资表中,怎样实现。

[此贴子已经被作者于2016/3/10 16:30:34编辑过]

--  作者:大红袍
--  发布时间:2016/3/10 23:28:00
--  

参考代码

 

DataTables("工资").DataRows.clear
Dim lst As New Dictionary(of String ,DataRow) \'定义一个字典,用于检索每个员工在统计表中对应的行
For Each dr1 As DataRow In DataTables("原料加工表").DataRows
    If dr1.IsNull("姓名") = False Then \'如果工号列不为空
        Dim nms() As String = dr1("姓名").Split(",") \'将工号列内容拆分成数组
        Dim v As Double = dr1("工资合计") / nms.Length \'获得平均之后每个工号的生产数量
        For Each nm As String In nms \'遍历参与加工此产品的每个工号
            Dim dr2 As DataRow
            If lst.ContainsKey(nm) \'如果集合中包括此工号对应的行
                dr2= lst(nm) \'将此行赋值给变量dr2
            Else
                dr2 = DataTables("工资").AddNew() \'否则增加一行.
                dr2("姓名") = nm \'新增行的工号列设置为此工号
                lst.add(nm,dr2) \'将新增行添加到字典中,以便接下来检索
            End If
            dr2("工资合计") = dr2("工资合计") + v \'加上平均后的产量
        Next
    End If
Next