Dim l2 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox2") ‘计划类型列表
Dim l3 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox3") ‘配送公司列表
Dim l5 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox5") ‘清单列入月份列表
If e.Form.Controls("TextBox1").text<>"" Then
For Each r As Row In Tables("高值耗材病人使用登记表").Rows
Dim dr As DataRow = DataTables("高值耗材病人使用登记表").Find("配送公司='"& l3.value &"' and 清单列入月份='"& l5.value &"' and 计划类型='"& l2.value &"'" )
If dr IsNot Nothing Then
dr("结入月份")=e.Form.Controls("TextBox1").text
Else
MessageBox.show("未找到")
End If
Next
Else
MessageBox.show("结入月份无数据")
End If
上面的代码想要实现的功能: 如果TextBox1里面不为空时,则在【高值耗材病人使用登记表】查找符合Find后面括号条件的数据,如果找到则在【结入月份】列填上TextBox1里面的数据。但在执行上面的代码时只在找到第一个符合条件的行填上TextBox1里面的数据,搞了很久不知道哪里出现问题。帮助里面的
Dim lst1 As New
List(of
DataRow)
Dim lst2 AS New
List(of
DataRow)
For Each dr As DataRow In DataTables("表A").DataRows
If
DataTables("表A").Find("第二列 = "
&
dr("第一列")) Is Nothing Then
lst1.Add(dr)
Else
lst2.Add(dr)
End If
Next
For Each dr As DataRow In lst1
dr("第三列") = True
Next
For Each dr As DataRow In lst2
dr("第三列") = False
Next
又看不懂,麻烦老师帮解决一下,谢谢!