Foxtable(狐表)用户栏目专家坐堂 → 如何后台全局禁止重复数据 急急急


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

主题:如何后台全局禁止重复数据 急急急

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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
如何后台全局禁止重复数据 急急急  发帖心情 Post By:2013/11/5 17:23:00 [只看该作者]

RT 我有个客户信息表 客户名称设置了禁止重复 用的是这段代码 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


我用的是录入窗口方式录入,但是同时我设置了只加载所有者=当前用户名的数据,当前用户名下是不能录入2个完全相同的用户名了 但是我换个用户后就可以录入了,这样其实整个表里面确实是存在了两个相同的用户了,问下高手 如何实现整个表达到不能录入相同数据的效果 并且提示呢?


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


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

利用SQLCOMMAND http://www.foxtable.com/help/topics/0696.htm

利用SQL语句查询是否存在该单号 或者用户名 例如

"select * from {表A} where 订单号='" & e.newValue & "'" 

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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
  发帖心情 Post By:2013/11/5 17:35:00 [只看该作者]

期待高手帮忙啊

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2013/11/5 17:42:00 [只看该作者]

2楼已经告诉了你答案


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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
  发帖心情 Post By:2013/11/5 18:29:00 [只看该作者]

If e.DataCol.Name = "客户名称" Then
Dim cmd As New SQLCommand
Dim dr As DataRow
dr = cmd.CommandText = "select 客户名称 from {客户信息表} where 客户名称='" & e.newValue & "'" 
    If dr IsNot Nothing Then
        MessageBox.Show("此客户已经存在!")
        e.Cancel = True
    End If
End If 

老大帮忙看看这里错在哪里?

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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
  发帖心情 Post By:2013/11/5 18:30:00 [只看该作者]

If e.DataCol.Name = "客户名称" Then
Dim cmd As New SQLCommand
Dim dr As DataRow
dr = cmd.CommandText = "select 客户名称 from {客户信息表} where 客户名称='" & e.newValue & "'" 
    If dr IsNot Nothing Then
        MessageBox.Show("此客户已经存在!")
        e.Cancel = True
    End If
End If

老大 帮忙看看我这个错在哪里 我拼凑出来的 汗

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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
  发帖心情 Post By:2013/11/5 18:33:00 [只看该作者]

希望老大可以出个实例啊

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


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

 代码改成这样

If e.DataCol.Name = "客户名称" Then
    Dim cmd As New SQLCommand
    cmd.CommandText = "select count(客户名称) from {客户信息表} where 客户名称='" & e.newValue & "'"
    Dim result As Integer = cmd.ExecuteScalar
    If result > 0 Then
        MessageBox.Show("此客户已经存在!")
        e.Cancel = True
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:81 积分:626 威望:0 精华:0 注册:2013/7/5 19:14:00
  发帖心情 Post By:2013/11/5 19:39:00 [只看该作者]

貌似不行哦 我添加到DataColChanging 然后添加一个重复客户 提示错误Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLP客户信息表'。 确定它是否存在,以及它的名称的拼写是否正确。

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


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

 如果是外部表,参考下面的帮助


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