以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码校正 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67376) |
-- 作者:wangyinming -- 发布时间:2015/4/23 9:40:00 -- 代码校正 我不想重复输入数据,所以写了以下代码,但是还是可以输入相同的数据,请高手看看 Select Case e.DataCol.name Case "作业类别1_摆放","工号","作业类别1_收取","管理号码","管理号码1","开始时间","结束时间" Dim dr As DataRow = e.DataRow If dr.IsNull("工号") = False AndAlso dr.IsNull("工号") = False AndAlso dr.IsNull("作业类别1_摆放") = False AndAlso dr.IsNull("开始时间") = False AndAlso dr.IsNull("结束时间") = False AndAlso dr.IsNull("管理号码1") = False AndAlso dr.IsNull("作业类别1_收取") = False AndAlso dr.IsNull("管理号码") =False Then If e.DataTable.Compute("Count([_Identify])","工号 = \'" & dr("工号") & "\' And 作业类别1_收取= \'" & dr("作业类别1_收取") & "\' And 管理号码= \'" & dr("管理号码") & "\'And 开始时间= \'" & dr("开始时间") & "\' And 管理号码1= \'" & dr("管理号码1") & "\' And 结束时间= \'" & dr("结束时间") & "\' And 作业类别1_摆放= \'" & dr("作业类别1_摆放") & "\'") > 1 Then MessageBox.Show("同一工号已经存在相同管理号码和生产数,请确认是否重复输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.DataRow(e.DataCol.Name) = e.OldValue \'取消输入 End If End If End Select
|
-- 作者:Bin -- 发布时间:2015/4/23 9:42:00 -- http://www.foxtable.com/help/topics/2481.htm |
-- 作者:wangyinming -- 发布时间:2015/4/23 12:16:00 -- 我重新理了一下,还是不行啊 是不是我复制了上一条数据的原因啊 有没有办法解决啊???? DataRowAdding e.DataRow("工程") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("工程") e.DataRow("作业日期") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("作业日期") e.DataRow("管理号码") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码") e.DataRow("加硫炉号") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("加硫炉号") e.DataRow("管理号码1") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("管理号码1") e.DataRow("生产数") = Tables("二次加硫").Rows(Tables("二次加硫").Count - 1)("生产数") DataColChanged Select Case e.DataCol.name Case "作业日期","加硫炉号","管理号码","管理号码1","生产数","开始时间","结束时间" Dim dr As DataRow = e.DataRow If dr.IsNull("作业日期") = False AndAlso dr.IsNull("作业日期") = False AndAlso dr.IsNull("加硫炉号") = False AndAlso dr.IsNull("管理号码") = False AndAlso dr.IsNull("管理号码1") = False AndAlso dr.IsNull("生产数")= False AndAlso dr.IsNull("开始时间") = False AndAlso dr.IsNull("结束时间") =False Then If e.DataTable.Compute("Count([_Identify])","作业日期 = \'" & dr("作业日期") & "\' And 加硫炉号= \'" & dr("加硫炉号") & "\' And 管理号码= \'" & dr("管理号码") & "\'And 管理号码1= \'" & dr("管理号码1") & "\' And 生产数= \'" & dr("生产数") & "\' And 开始时间= \'" & dr("开始时间") & "\' And 结束时间= \'" & dr("结束时间") & "\'") > 1 Then MessageBox.Show("同一工号已经存在相同管理号码和生产数,请确认是否重复输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.DataRow(e.DataCol.Name) = e.OldValue \'取消输入 End If End If End Select |
-- 作者:wangyinming -- 发布时间:2015/4/23 13:29:00 -- 怎么没有人指导 |
-- 作者:Bin -- 发布时间:2015/4/23 14:04:00 -- 因为我们不是机器人,是生物,所以有生物五大缺憾: 吃喝拉撒睡 代码一眼看过去,理应没有问题.你做个可以重现问题的例子文件发上来看看.
|