以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Foxtable資料中,列屬性禁止重復,但是如果是用粘貼的字符,為什麽不會提示有重復呢?人工輸入的就會提示?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=35618)

--  作者:CH00245
--  发布时间:2013/6/28 15:12:00
--  [求助]Foxtable資料中,列屬性禁止重復,但是如果是用粘貼的字符,為什麽不會提示有重復呢?人工輸入的就會提示?
求助]Foxtable資料中,列屬性禁止重復,但是如果是用粘貼的字符,為什麽不會提示有重復呢?人工輸入的就會提示?
--  作者:Bin
--  发布时间:2013/6/28 15:14:00
--  
黏贴的一样会提示重复的,你有可能复制多了空格或者什么东西.
--  作者:CH00245
--  发布时间:2013/6/29 13:54:00
--  

我重復試了幾次,還是哪樣的,列屬性禁止重復,但是粘貼結果后,還是沒有提示重復。如上一欄輸入55,用批鼠標選中55,粘貼在下一欄位,結果沒有提示重復值。請哪位高手指點,還有什麽方法來不重復?為謝!

 


--  作者:Bin
--  发布时间:2013/6/29 14:02:00
--  
联系客服800014337 看看.
--  作者:lsy
--  发布时间:2013/6/29 14:32:00
--  

楼主说的没错,我的试用版,一直这样。

用以下代码,就可避免:

BeforeSaveDataRow

 

Dim str As String = ""
Dim t As Table = CurrentTable

For Each r As Row In t.Rows
    For Each c As Col In t.Cols
        If c.DataCol.Unique = True AndAlso r.DataRow.IsNull(c.Name) = False AndAlso t.DataTable.Compute("Count([_Identify])",c.Name & " = \'" & r.DataRow(c.Name) & "\'") > 1 Then
            str = str & "第" & r.Index + 1 & "行 " & "第" & c.Index + 1 & "列, "
        End If
    Next
Next
If str > "" Then
    MessageBox.Show(str,"有些列数据不能重复,请检查")
    e.Cancel = True   
End If


--  作者:yan2006l
--  发布时间:2013/6/29 22:40:00
--  
我证明楼主说的没错,的确如楼主所说!这功能基本残了!
--  作者:powermannico
--  发布时间:2013/7/1 10:56:00
--  
 确实,如果是用代码填相同的内容进去,也无效
--  作者:Bin
--  发布时间:2013/7/1 10:58:00
--  
以下是引用powermannico在2013-7-1 10:56:00的发言:
 确实,如果是用代码填相同的内容进去,也无效

使用代码确实是无效,既然使用代码了.可以使用代码控制.

复制黏贴或者输入的话 在开发版,商业版 都是没问题的.