在实时采集表DataColChanged事件,一段代码,标记的代码是获取最大计数,当条件设置为日期和工位机ID时,可以实现所需效果,但增加一个条件(作业ID)时,就不能获取最大计数,问题在哪里,请各位老师指教,谢谢!!
Select Case e.DataCol.Name
'序号和计数
Case "日期"
If e.DataCol.Name = "日期" Then
If e.DataRow.IsNull("日期") Then
e.DataRow("序号") = Nothing
Else
If e.DataRow.IsNull("序号") Then
Dim max,max1 As String '最大序号
Dim idx As Integer
max = e.DataTable.Compute("Max(序号)","[_Identify] <> " & e.DataRow("_Identify")) '取得最大序号
If max > "" Then '如果存在最大序号
idx = CInt(max) + 1 '获得最大序号,并加1
Else
idx = 1 '否则序号等于1
End If
e.DataRow("序号") = idx
Dim rq As String = e.DataRow("日期")
Dim gwjid As String = e.DataRow("工位机ID")
Dim zyid As String = e.DataRow("作业ID")
max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
'max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [作业ID] = '"& zyid &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
If max1 > "" Then '如果存在最大计数
idx = CInt(max1) + 1 '获得最大计数,并加1
Else
idx = 1 '否则计数等于1
End If
e.DataRow("计数") = idx
End If
End If
End If
End Select
[此贴子已经被作者于2014-11-3 15:23:30编辑过]