Foxtable(狐表)用户栏目专家坐堂 → 禁止地区编号重复,出现提示窗口


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

主题:禁止地区编号重复,出现提示窗口

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
禁止地区编号重复,出现提示窗口  发帖心情 Post By:2011/7/31 8:55:00 [只看该作者]

第二行输入“中国”、“ 浙江省”,说是datacolchanged有误,如何解决?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar

[此贴子已经被作者于2011-7-31 8:56:04编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/31 9:02:00 [只看该作者]

取消输入就行,不要删除行。

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/7/31 9:30:00 [只看该作者]

如何取消“中国”或“浙江省”。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/31 9:31:00 [只看该作者]

取消正在输入的一个就行了:

 

e.Cancel = True


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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/7/31 9:42:00 [只看该作者]

就是地区编号不能重复,我真不知道代码如何写?

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/7/31 9:44:00 [只看该作者]

Select Case e.DataCol.name
    Case "国家","省"
        e.DataRow("地区编号")=e.DataRow("国家") & "\" & e.DataRow("省")
        Dim m As Integer
        m = e.DataTable.compute("count(地区编号)","地区编号 = '" & e.DataRow("地区编号") & "'")
        If m>1
            MessageBox.Show("该地区名称已经存在,不能再次增加地区名称的地区!")
            e.DataRow.delete()
        End If
End Select

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/31 10:02: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("国家")= Nothing
        e.DataRow("省") = Nothing
        e.Newvalue = Nothing
    End If
End If


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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/7/31 13:13:00 [只看该作者]

以下是引用狐狸爸爸在2011-7-31 10:02: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("国家")= Nothing
        e.DataRow("省") = Nothing
        e.Newvalue = Nothing
    End If
End If

datacolchanged还是有提示。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/1 7:46:00 [只看该作者]

老大的代码如果有重覆就先提示后清除.还有一个简单的办法,将列属性的禁止重覆选项打开不就得了.

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/8/1 8:08:00 [只看该作者]

以下是引用blackzhu在2011-8-1 7:46:00的发言:
老大的代码如果有重覆就先提示后清除.还有一个简单的办法,将列属性的禁止重覆选项打开不就得了.

行不通的。

 


 回到顶部
总数 11 1 2 下一页