我这样测试没有问题,其它列数据赋值代码自己补上
Dim di1 As String = "2020年迎春杯"
Dim di2 As String = "4"
Dim Str As String = "综合组"
DataTables("查询").DataRows.Clear
For Each s As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
Dim dr As DataRow = DataTables("查询").AddNew
dr("桌号") = s
Dim nr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='红方'")
If nr IsNot Nothing Then
dr("红方_编号") = nr("编号")
End If
nr = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='黑方'")
If nr IsNot Nothing Then
dr("黑方_编号") = nr("编号")
End If
Next