DataTables("表A").DataRows.clear
Dim drs As List(of DataRow) = DataTables("表B").Select("","第四列")
For m As Integer = 0 To drs.Count -1
Dim dr1 As DataRow = drs(m)
If m = 0 Then
Dim cnt As Integer = math.Floor(dr1("第三列") / dr1("第二列"))
For n As Integer = 1 To cnt
Dim dr2 As DataRow = DataTables("表A").AddNew()
dr2("第一列") = m
dr2("第二列") = dr1("第二列")
dr2("第三列") = n
'第二列没有赋值,所以等于0
Next
Else
Dim drs2 As List(of DataRow) = DataTables("表A").Select("第一列 = "& (m-1))
For Each dr2 As DataRow In drs2
Dim cnt As Integer = math.Floor(dr2("第二列") / dr1("第二列"))
messagebox.show("cnt = " & cnt)
' messagebox.show("由于表A的第二列没有赋值,所以表A第二列除以表B第二列,结果是0,所以不会新增行")
For n As Integer = 1 To cnt
Dim dr3 As DataRow = DataTables("表A").AddNew()
dr3("第一列") = m
dr3("第二列") = dr1("第二列")
dr3("第三列") = dr2("第三列") + n
Next
Next
End If
Next
按照你的思路,我试了下,和我原来的测试结果是一致的,前三列的结果如下,现在就是想再往下循环增加,一直加到第一列的顺序到5为止
0 50 1
0 50 2
0 50 3
0 50 4
0 50 5
0 50 6
1 20 2
1 20 3
1 20 3
1 20 4
1 20 4
1 20 5
1 20 5
1 20 6
1 20 6
1 20 7
1 20 7
1 20 8