一年内同一企业名称不能输入两次,datacolchanged设置了如下代码:'本年内企业名称禁止重复
If e.DataCol.Name = "企业名称" Then
Dim filter As String = "年度 = '" & Date.Today.year & "'"
If e.DataRow("企业名称") = Nothing Then
filter &= " and 企业名称 is null"
Else
filter &= " and 企业名称 = '" & e.DataRow("企业名称") & "'"
End If
Dim nr As DataRow = DataTables("安全费用提取").Find(filter)
If nr IsNot Nothing Then
e.Cancel = True '那么取消输入并提示用户
Dim Result As DialogResult
Result = MessageBox.Show("本年度本公司已添加了安全费用提取记录,禁止重复添加! 要删除当前行吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
Tables("安全费用提取").Current.Delete
Else
End If
End If
End If
代码有问题:
1.企业名称不重复时,也提示重复
2.重复并删除时报错:
.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.10.9.1
错误所在事件:表,安全费用提取,DataColChanged
详细错误信息:
调用的目标发生了异常。
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据
请老师帮忙将代码修改一下,谢谢!