以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何后台全局禁止重复数据 急急急  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42164)

--  作者:ichoo31
--  发布时间: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
--  发布时间:2013/11/5 17:25:00
--  
利用SQLCOMMAND http://www.foxtable.com/help/topics/0696.htm

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

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

--  作者:ichoo31
--  发布时间:2013/11/5 17:35:00
--  
期待高手帮忙啊
--  作者:sloyy
--  发布时间:2013/11/5 17:42:00
--  

2楼已经告诉了你答案


--  作者:ichoo31
--  发布时间: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
--  发布时间: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
--  发布时间:2013/11/5 18:33:00
--  
希望老大可以出个实例啊
--  作者:有点甜
--  发布时间: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
--  发布时间:2013/11/5 19:39:00
--  
貌似不行哦 我添加到DataColChanging 然后添加一个重复客户 提示错误Microsoft Jet 数据库引擎找不到输入表或查询 \'~TMPCLP客户信息表\'。 确定它是否存在,以及它的名称的拼写是否正确。
--  作者:有点甜
--  发布时间:2013/11/5 19:42:00
--  
 如果是外部表,参考下面的帮助