老师您好!帮助中for each语句的例子已经看过多次,在解决下面问题时还不会运用。下面是自己编写一段代码,也能实现相应功能。但是代码太多。如何用for each语句简化用荧光笔标注的代码?请您给予指导。
具体想法:通过比较“卷1答”表和“客观题答案”表中对应项比较,完全一致,在成绩表中计得分1。
疑惑:如何用for each语句实现寻找对应列?
此主题相关图片如下:3.jpg
Dim kgt1,kgt2,kgt3 As Integer
Dim fkgdr1 As DataRow = DataTables("客观题答案").find("客观题1 = '" & e.DataRow("客观题1") & "' And 试卷号 = '" & DataTables("卷1答").name.Chars(1) & "'")
Dim fkgdr2 As DataRow = DataTables("客观题答案").find("客观题2 = '" & e.DataRow("客观题2") & "' And 试卷号 = '" & DataTables("卷1答").name.Chars(1) & "'")
Dim fkgdr3 As DataRow = DataTables("客观题答案").find("客观题3 = '" & e.DataRow("客观题3") & "' And 试卷号 = '" & DataTables("卷1答").name.Chars(1) & "'")
Dim ndr1 As DataRow = DataTables("成绩").Find("学号 = '" & e.DataRow("学号") & "'")
Dim ndr2 As DataRow = DataTables("卷1问").Find("学号 = '" & e.DataRow("学号") & "'")
If ndr1 Is Nothing OrElse ndr2 Is Nothing Then '这是一个将相关表格进行同时增加行的条件代码
ndr1 = DataTables("成绩").AddNew
ndr1("学号") = e.DataRow("学号")
ndr2 = DataTables("卷1问").AddNew
ndr2("学号") = e.DataRow("学号")
End IfI
f fkgdr1 Is Nothing Then
kgt1 = 0
Else
kgt1 = 1
End If
If fkgdr2 Is Nothing Then
kgt2 = 0
Else
kgt2 = 1
End If
If fkgdr3 Is Nothing Then
kgt3 = 0
Else
kgt3 = 1
End If
ndr1("卷1") = kgt1 + kgt2 + kgt3