以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求解? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45230) |
||||
-- 作者:lyfxybc -- 发布时间:2014/1/19 9:48:00 -- 求解? 分值比例分配表A 成绩计算表B 说明: 表B王五、王四的成绩是根据表A的比值分配计算的。 表A说明:汽车只有王五按100%,即为1。 草杂只有王四按100%,即为1。 表B说明 汽车列 表B的汽车行 如:第一行计算:王五:汽车列有值,则王五的成绩= 3 x 1 = 3,王四的成绩为0,因为草杂、沥青为空。 其他行同理 就是表B的列,去对应表A的行,并赋值计算。 附项目:
[此贴子已经被作者于2014-1-19 9:59:42编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/1/19 20:58:00 -- 表名一定要对应有关联。用下面的代码 If e.DataCol.Name Like "*成绩" = False Then Dim pdc As new List(Of String) Dim tdc As new List(Of String) For Each dc As DataCol In e.DataTable.DataCols If dc.Name Like "*成绩" Then pdc.Add(dc.Name) Else tdc.Add(dc.Name) End If Next For Each p As String In pdc Dim sum As Double = 0 For Each t As String In tdc Dim fdr As DataRow = DataTables("表A").Find("项目 = \'" & t & "\'") If fdr IsNot Nothing Then sum += e.DataRow(t) * fdr("分值_" & p.Replace("成绩", "")) End If Next e.DataRow(p) = sum Next End If
|
||||
-- 作者:lyfxybc -- 发布时间:2014/1/20 7:42:00 -- 非常感谢。
|
||||
-- 作者:lyfxybc -- 发布时间:2014/1/20 7:43:00 -- 再次感谢 |