以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  列“条码”被约束为是唯一的。值“”已存在。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71319)

--  作者:zhy400137
--  发布时间:2015/7/9 10:56:00
--  列“条码”被约束为是唯一的。值“”已存在。
高速合并时,出现列“条码”被约束为是唯一的。值“”已存在。
SQLSERVER中条码设为主键,已清空表数据,但仍会出现这个情况。
先高速导入,再高速合并就不会。
请教老师,谢谢~!

--  作者:大红袍
--  发布时间:2015/7/9 11:06:00
--  

 如果提示,说明你导入的数据,条码有重复值,而且条码的值是空值""


--  作者:zhy400137
--  发布时间:2015/7/9 11:30:00
--  
我用EXCEL数透验证过,我条码没有重复值,也没有空值!
--  作者:大红袍
--  发布时间:2015/7/9 11:32:00
--  

如果高速合并不行,那你用代码合并吧

 

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

 


--  作者:zhy400137
--  发布时间:2015/7/9 11:56:00
--  
编码合并也是出现同样的提示!
--  作者:zhy400137
--  发布时间:2015/7/9 11:56:00
--  
Dim Book As New XLS.Book("C:\\Users\\zhy\\Desktop\\text\\20150709单价10万元以上明细.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("基本资料库").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String  ={"条码","编码","名称","规格","产地","品牌","基本单位","质检号","价格段","商品分类","库存数量","零售价"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables("基本资料库").AddNew()
    For m As Integer = 0 To nms.Length - 1
         r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables("基本资料库").ResumeRedraw()

--  作者:zhy400137
--  发布时间:2015/7/9 12:06:00
--  
我的条码字段不是自动增量,不清楚这个有没影响。
--  作者:大红袍
--  发布时间:2015/7/9 12:10:00
--  

1、删除全部数据,保存项目;

 

2、写代码合并数据,加入msgbox弹出值看一下

 

 msgbox(Sheet(n,m).Value)


--  作者:zhy400137
--  发布时间:2015/7/9 12:32:00
--  
一开始MSGBOX都能正常显示EXCEL的数据,但过会就弹出上面的提示了,我
为了测试特别只用了几行数据。

--  作者:zhy400137
--  发布时间:2015/7/9 12:33:00
--  
只用了一行数据测试,发现代码能运行了,但合并进来的数据是空白的。