以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  产生这个错误的原因是什么?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137895)

--  作者:gudao123456
--  发布时间:2019/7/18 0:29:00
--  产生这个错误的原因是什么?
在执行数据填空代码:
Dim f As New Filler
f.SourceTable = DataTables("sqxxb") \'指定数据来源
f.SourceCols ="审批编号,申请人姓名,高中学校,身份证号码,资助卡号,户籍所在省市县乡村,录取高校及专业,录取高校层次" \'指定数据来源列
f.DataTable = DataTables("dxxsrxbzmxb") \'指定数据接收表
f.DataCols="bh,xsxm,gzxx,sfzhm,zzkh,hjszd,lqgxjzy,lqgxcc" \'指定数据接收列
f.filter="sfydr =false"
f.distinct=True
f.Fill() \'填充数据
PopMessage("正在下载证明材料图片,没有提示下载完成前请不要退出系统,否则下载无法完成!","温馨提示", PopIconEnum.alert, 5)
Functions.AsyncExecute("zmclxz")

发生以下错误提示:
A child row has multiple parents.
原因是什么?怎么办?谢谢!

另外,设这个:f.distinct=True  的目的是想已经填充过了的数据,不再填充,但没起作用

[此贴子已经被作者于2019/7/18 0:31:30编辑过]

--  作者:有点蓝
--  发布时间:2019/7/18 8:45:00
--  
提示是父表的关联列有重复数据,父表的关联列不能有重复的数据,比如:父表通过编号和明细表关联,那么父表的编号不能重复。

Filler只能根据主键去重。

建议使用这种方法:http://www.foxtable.com/webhelp/topics/1533.htm,可以在循环中使用find,如果重复就不复制

--  作者:gudao123456
--  发布时间:2019/7/18 13:22:00
--  
谢谢!
--  作者:gudao123456
--  发布时间:2019/7/18 23:32:00
--  
清楚了,是数据库出现了重复数据,谢谢!
[此贴子已经被作者于2019/7/19 0:16:39编辑过]