感谢@有点蓝老师的指导。我是一个初学者,你说的这个例子我已看过,感觉与我上面的需求有些差别,正是这个差别是我整不明白的。我求助的问题中,表二“课程选择”这一列是可以多选的,“小计”根据“课程选择”中选课的多少及表一中对应的价格求和。我认为:重点是如何查找出表二“课程选择”中都选择了哪些课,然后再对应表一中的价格并求和。下面是我写在表二DataColChanged中代码,能达到要求,还可以更改表一中的价格,但不能更改表一中的课程列,及课程设置的数量,如要改就得再改这儿,重点是用户是不会的。目的是:只更改表一中的课程设置及价格,而无需再来更改程序中的代码,编程吗,方便的是用户。If e.DataCol.Name = "课程选择" Then
Dim Str1 As String =e.DataRow("课程选择")
Dim S1 As String
Dim S2 As String
Dim S3 As String
Dim S4 As String
Dim jg1 As DataRow = DataTables("表一").Find("[课程] = '语文'")
Dim jg2 As DataRow = DataTables("表一").Find("[课程] = '数学'")
Dim jg3 As DataRow = DataTables("表一").Find("[课程] = '物理'")
Dim jg4 As DataRow = DataTables("表一").Find("[课程] = '化学'")
If Str1 > "" AndAlso Str1.Contains("语文") Then
S1=1
Else
S1=0
End If
If Str1 > "" AndAlso Str1.Contains("数学") Then
S2=1
Else
S2=0
End If
If Str1 > "" AndAlso Str1.Contains("物理") Then
S3=1
Else
S3=0
End If
If Str1 > "" AndAlso Str1.Contains("化学") Then
S4=1
Else
S4=0
End If
e.DataRow("小计") = S1*jg1("价格")+S2*jg2("价格")+S3*jg3("价格")+S4*jg4("价格")
End If
[此贴子已经被作者于2021/5/15 17:13:36编辑过]