我有《短信内容》与 《蒋安出差》两个表,如果短信内容的【是否填报】字段打钩,那么就先检查《蒋安出差表》当天是否填报过,没有再插入行或增加行,相反【是否填报】字段钩去掉,就删除当天同内容的行,测试有点问题,指正
If e.DataCol.Name = "是否填报" Then
Select Case e.NewValue
Case True
If e.DataRow("会议时间") IsNot Nothing Then
Dim dt As Date = e.DataRow("会议时间")
Dim str As String =e.DataRow("内容")
Dim dr As DataRow = DataTables("蒋安出差").find("出差起日期= '" & dt & "'")
If dr IsNot Nothing Then
Dim Result As DialogResult
Result = MessageBox.show("出差时间" & dt & Chr(13) & Chr(10) & "出差事由:" & str & ",","请检查是否填报",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
Tables("蒋安出差").Sort = ""
Dim wz As Integer = Tables("蒋安出差").findrow(dr)
If wz >=0 Then
Tables("蒋安出差").Position = wz
Tables("蒋安出差").InsertNew()
Tables("蒋安出差").Current("出差起日期") = dt
Tables("蒋安出差").Current("工作地点及说明") = e.DataRow("内容")
Tables("蒋安出差").Current.Save
Tables("蒋安出差").Current.Load
End If
End If
Else
Dim r1 As DataRow = DataTables("蒋安出差").AddNew
r1("出差起日期") = dt
r1("工作地点及说明") = e.DataRow("内容")
r1.Load
End If
Else
MessageBox.show("通知时间字段不能为空")
Tables("蒋安出差").Select(0,0)
End If
Case False
If e.DataRow("通知时间") IsNot Nothing Then
Dim dt As Date = e.DataRow("会议时间")
Dim str As String =e.DataRow("内容")
Dim dr As DataRow = DataTables("蒋安出差").find("出差起日期= '" & dt & "' and 工作地点及说明 = '" & str & "'")
If dr IsNot Nothing Then
Dim Result As DialogResult
Result = MessageBox.show("出差时间" & dt & Chr(13) & Chr(10) & "出差事由:" & str & ",","请检查是否删除重复的填报",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
DataTables("蒋安出差").DeleteFor("出差起日期= '" & dt & "' and 工作地点及说明 = '" & str & "'")
End If
End If
End If
End Select
End If