Foxtable(狐表)用户栏目专家坐堂 → 求助:关联表新增行出现重复内容,能否禁止增加重复行或取消增加重复行


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

主题:求助:关联表新增行出现重复内容,能否禁止增加重复行或取消增加重复行

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


加好友 发短信
等级:婴狐 帖子:40 积分:470 威望:0 精华:0 注册:2012/5/12 16:42:00
求助:关联表新增行出现重复内容,能否禁止增加重复行或取消增加重复行  发帖心情 Post By:2013/1/8 14:47:00 [只看该作者]

请问:在关联表新增行时(之前已新增过一行),由于录入人员误操作,又出现相同一行数据,能否使用代码确认,不予新增行。请指点一下。

 

DataColChanging

If e.DataCol.Name = "发货批次" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("发货批次 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此发货批次已经存在!")
        e.Cancel = True
    End If
End If

此代码只能清除 "发货批次" 列的内容,而不能删除整行

 

[此贴子已经被作者于2013-1-10 0:02:24编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/8 15:08:00 [只看该作者]

 哦哦,你想删除整行?

If e.DataCol.Name = "发货批次" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("发货批次 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此发货批次已经存在!")
        e.DataRow.Delete
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:40 积分:470 威望:0 精华:0 注册:2012/5/12 16:42:00
  发帖心情 Post By:2013/1/8 23:03:00 [只看该作者]

多谢您啦~~~~ 狐神!林总

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


加好友 发短信
等级:婴狐 帖子:40 积分:470 威望:0 精华:0 注册:2012/5/12 16:42:00
  发帖心情 Post By:2013/1/9 15:33:00 [只看该作者]

 

lin_hailun:

If e.DataCol.Name = "发货批次" Then
Dim dr As DataRow
dr = e.DataTable.Find("发货批次 = '" & e.NewValue & "'")
If dr IsNot Nothing Then
MessageBox.Show("此发货批次已经存在!")
e.DataRow.Delete
End If
End If

运行结果,却是覆盖了原来有用的行了,我是要把新增的这行删除,而不是把原来有用的行删除


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/9 16:26:00 [只看该作者]

 不明白,什么意思,楼主。例子,数据表。

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


加好友 发短信
等级:婴狐 帖子:40 积分:470 威望:0 精华:0 注册:2012/5/12 16:42:00
  发帖心情 Post By:2013/1/9 20:12:00 [只看该作者]

 

[此贴子已经被作者于2013-1-11 21:40:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/1/9 22:06:00 [只看该作者]

If e.DataCol.Name = "发货批次" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("发货批次 = '" & e.NewValue & "' And [_Identify] <> " & e.DataRow("_Identify"))
    If dr IsNot Nothing Then
        MessageBox.Show("此发货批次已经存在!")
        e.DataRow.Delete
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:40 积分:470 威望:0 精华:0 注册:2012/5/12 16:42:00
  发帖心情 Post By:2013/1/9 23:11:00 [只看该作者]

还是不行,若是增加多行后,删除行会出现错误.看来思路要转变一下,若"发货批次"重复的话,禁止加入行,怎样才能实现

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5954 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2013/1/9 23:34:00 [只看该作者]

 

[此贴子已经被作者于2013-1-9 23:35:11编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 9:02:00 [只看该作者]

 你的项目打不开,没有数据源。

http://www.foxtable.com/help/topics/2481.htm

 回到顶部