以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码修改(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=20606)

--  作者:yyzlxc
--  发布时间:2012/6/13 15:29:00
--  [求助]代码修改(已解决)

For Each dr1 As DataRow In DataTables("单位系数").DataRows
    If dr1.IsNull("部门")  Then
        dr1("月系数_1") = Nothing
    Else
        Dim pr As Double = DataTables("个人数据").Compute("Sum(系数_1)","[部门_1] =\'" & dr1("部门") & "\'")
        dr1("月系数_1") = pr
    End If
Next

 

上面的代码在命令窗口通过,要修改成For...Next循环,将代码中的 1 替换为 i ,代码应该如何修改,请各位老师指教,谢谢!!

 

For Each dr1 As DataRow In DataTables("单位系数").DataRows
    For i As Integer = 1 To 12
        If dr1.IsNull("部门")  Then
            dr1("月系数_" & i) = Nothing
        Else
            Dim pr As Double = DataTables("个人数据").Compute("Sum("系数_" & i)","["部门_" & i] =\'" & dr1("部门") & "\'")
            dr1("月系数_" & i) = pr
        End If
    Next
Next

[此贴子已经被作者于2012-6-13 16:26:09编辑过]

--  作者:xongyijd
--  发布时间:2012/6/13 15:48:00
--  
For Each dr1 As Row In DataTables("单位系数").Rows
    For Each dr2 As DataCol In DataTables("单位系数").DataCols
        For i As Integer = 0 To dr1.Count-1
            If dr1.IsNull("部门")  Then
                dr1(dr2.Name) = Nothing
            Else
                Dim pr As Double = DataTables("个人数据").Compute("Sum(系数_1)","[部门_ & dr2.name] = \'" & dr1("部门") & "\'")
                dr1(dr2.Name) = pr
            End If
        Next
    Next
Next
   
[此贴子已经被作者于2012-6-13 15:58:06编辑过]

--  作者:yyzlxc
--  发布时间:2012/6/13 15:56:00
--  

谢谢xongyijd老师的回复,但是代码在命令窗口未能通过,另外循环就是12个月,还请指教,谢谢!!

 

 


图片点击可在新窗口打开查看此主题相关图片如下:e.png
图片点击可在新窗口打开查看

--  作者:xongyijd
--  发布时间:2012/6/13 16:03:00
--  

这样看看:

For Each dr1 As DataRow In DataTables("单位系数").DataRows
    For Each dr2 As DataCol In DataTables("单位系数").DataCols
        For Each i As DataRow In dr1
            If i.IsNull("部门")  Then
                i(dr2.Name) = Nothing
            Else
                Dim pr As Double = DataTables("个人数据").Compute("Sum(系数_1)","["部门] = \'" & dr1("部门") & "\'")
                i(dr2.Name) = pr
            End If
        Next
    Next
Next


--  作者:yyzlxc
--  发布时间:2012/6/13 16:12:00
--  

谢谢xongyijd老师的回复,好像还是不行。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:f.png
图片点击可在新窗口打开查看

 

 

另外,在命令窗口运行上面加黄色标记的这段代码,出现的错误提示如下,估计可能就是双引号单引号的问题,还请指教,谢谢!!

 


 


图片点击可在新窗口打开查看此主题相关图片如下:g.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/6/13 16:20:00
--  
For Each dr1 As DataRow In DataTables("单位系数").DataRows
    For i As Integer = 1 To 12
        If dr1.IsNull("部门")  Then
            dr1("月系数_" & i) = Nothing
        Else
            Dim pr As Double = DataTables("个人数据").Compute("Sum(系数_" & i & ")","[部门_" & i & "] =\'" & dr1("部门") & "\'")
            dr1("月系数_" & i) = pr
        End If
    Next
Next
 

--  作者:xongyijd
--  发布时间:2012/6/13 16:23:00
--  
我弄错了

这样看看:

For Each dr1 As DataRow In DataTables("单位系数").DataRows
For Each dr2 As DataCol In DataTables("单位系数").DataCols
If dr1.IsNull("部门") Then
dr1(dr2.Name) = Nothing
Else
Dim pr As Double = DataTables("个人数据").Compute("Sum(系数_1)","[部门] = \'" & dr1("部门") & "\'")
dr1(dr2.Name) = pr
End If
Next
Next


[此贴子已经被作者于2012-6-13 16:24:28编辑过]

--  作者:yyzlxc
--  发布时间:2012/6/13 16:25:00
--  
谢谢狐爸老师的指教,问题得到圆满解决,再次感谢!!同时也谢谢xongyijd老师的热心帮助!!