beforeSaveDataRow事件
Dim dr As DataRow = e.DataRow
Dim filter As String = "1=1"
If dr.IsNull("作业日期") Then
filter &= " and 作业日期 is null"
Else
filter &= " and 作业日期 = '" & dr("作业日期") & "'"
End If
If dr.IsNull("加硫炉号") Then
filter &= " and 加硫炉号 is null"
Else
filter &= " and 加硫炉号 = '" & dr("加硫炉号") & "'"
End If
If dr.IsNull("管理号码") Then
filter &= " and 管理号码 is null"
Else
filter &= " and 管理号码 = '" & dr("管理号码") & "'"
End If
If dr.IsNull("管理号码1") Then
filter &= " and 管理号码1 is null"
Else
filter &= " and 管理号码1 = '" & dr("管理号码1") & "'"
End If
If dr.IsNull("生产数") Then
filter &= " and 生产数 is null"
Else
filter &= " and 生产数 = '" & dr("生产数") & "'"
End If
If dr.IsNull("开始时间") Then
filter &= " and 开始时间 is null"
Else
filter &= " and 开始时间 = #" & new Date(1900,1,1,dr("开始时间").Hour,dr("开始时间").minute,dr("开始时间").second) & "#"
End If
If dr.IsNull("结束时间") Then
filter &= " and 结束时间 is null"
Else
filter &= " and 结束时间 = #" & new Date(1900,1,1,dr("结束时间").Hour,dr("结束时间").minute,dr("结束时间").second) & "#"
End If
If e.DataTable.Compute("Count([_Identify])",filter) > 1 Then
MessageBox.Show("同一工号已经存在相同管理号码和生产数,请确认是否重复输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.cancel = True
End If