Foxtable(狐表)用户栏目专家坐堂 → 代码校正


  共有2723人关注过本帖树形打印复制链接

主题:代码校正

帅哥哟,离线,有人找我吗?
wangyinming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
代码校正  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/23 9:42:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
wangyinming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/4/23 13:29:00 [只看该作者]

怎么没有人指导


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/23 14:04:00 [只看该作者]

因为我们不是机器人,是生物,所以有生物五大缺憾:  吃喝拉撒睡

代码一眼看过去,理应没有问题.你做个可以重现问题的例子文件发上来看看.

 回到顶部