Foxtable(狐表)用户栏目专家坐堂 → 控制多列不重复录入


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

主题:控制多列不重复录入

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
控制多列不重复录入  发帖心情 Post By:2021/6/22 12:28:00 [只看该作者]

批量录入时,如果有重复(3列)时停止录入,以下代码不起作用。

DataColChanging表事件

Select Case e.DataCol.name
    Case "发货单号","产品代码","颜色"
        Dim fh As String
        Dim cp As String
        Dim ys As String
        If e.DataCol.Name = "发货单号" Then
            fh = e.NewValue
            cp = e.DataRow("产品代码")
            ys = e.DataRow("颜色")
        ElseIf e.DataCol.Name = "产品代码" Then
            cp = e.NewValue
            fh = e.DataRow("发货单号")
            ys = e.DataRow("颜色")
        ElseIf e.DataCol.Name = "颜色" Then
            ys = e.NewValue
            fh = e.DataRow("发货单号")
            cp = e.DataRow("产品代码")
        End If
        If fh > "" AndAlso cp  > "" AndAlso ys > "" Then 
            Dim dr As DataRow = e.DataRow
            If e.DataTable.Find("发货单号 = '" & fh & "' And 产品代码 = '" & cp & "'And 颜色 = '" & ys & "'") IsNot Nothing Then
                'Tables("销售发货.销售发货明细").Current.Delete
                MessageBox.Show("不要重复录入!","提示")
                Return
                'e.Cancel = True
            End If
        End If
End Select

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/6/22 13:11:00 [只看该作者]

是这个意思?

            Dim dr As DataRow = e.DataRow
            If e.DataTable.Find("第一列 = '" & fh & "' And 第二列 = '" & cp & "'And 第三列 = '" & ys & "'") IsNot Nothing Then
                MessageBox.Show("不要重复录入!","提示")
                e.Cancel = True
                Return
            End If

[此贴子已经被作者于2021/6/22 13:10:55编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2021/6/22 14:19:00 [只看该作者]

谢谢,是这个意思。但用表事件不能解决。问题转到 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=163808

 回到顶部