以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于 filler 的自动填充条件.如何理解? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1547) |
-- 作者:wcs -- 发布时间:2009/1/4 12:34:00 -- 关于 filler 的自动填充条件.如何理解? 我有这样一段代码: dim dqpz As New Filler dqpz.SourceTable = DataTables("会计凭证查询") \'指定数据来源 dqpz.SourceCols = "sszt,pzrqn,pzrqy,pzrqr,pzlx,pzdm,flxh,pzzy,kmdm,jdfx,flje,cjyh,fdzs" \'指定数据来源列 dqpz.DataTable = DataTables("会计凭证") \'指定数据接收表 dqpz.DataCols = "账套编号,年,月,日,pzlx,凭证编号,flxh,凭证摘要,科目代码,jdfx,flje,制证人,附件张数" \'指定数据接收列 dqpz.ExcludeExistValue = true dqpz.ExcludeNullValue = true dqpz.Distinct = true dqpz.Append = False dqpz.Fill() \'填充数据 意思是要将"会计凭证查询"表中的内容填充到"会计凭证"表中. 需要填充的字段是对应好了的. 现在的问题是,这几个条件设置好像没有效果: dqpz.ExcludeExistValue = true dqpz.ExcludeNullValue = true dqpz.Distinct = true dqpz.Append = False 参数设置的意思是: 排除来源表中重复的行, 也排除目标表中重复的表, 排除空值, 目标表中先在原有行中填充,不够用再新增行. 可是执行的结果是: 不任什么情况下,都直接追加行,不用任何条件判断,追加一次就增加100行,第二次就再加100行,实际上内容完全一样的. [此贴子已经被作者于2009-1-4 12:34:13编辑过]
|
-- 作者:wcs -- 发布时间:2009/1/4 12:39:00 -- 我不明白,怎样才算是完全一样的行? 如果将ID列也考虑进去,那必定是不一样的行了,ID自动生成,没有重复的,所以每一次都判断为不同的行. 如果只判断我要追加的列的内容,那就合理一些了. 急,我在线等! [此贴子已经被作者于2009-1-4 12:39:13编辑过]
|
-- 作者:wcs -- 发布时间:2009/1/4 13:03:00 -- 我的查询表是用SQL查询来的, 我在考虑是否与这个查询结果不各列的数据类型有关,虽然值是一样的,类型不同也可能造成不同的判断? |
-- 作者:狐狸爸爸 -- 发布时间:2009/1/4 13:19:00 -- 我测试到正常,你每次排除一列,看看到底那列造成的。 |
-- 作者:wcs -- 发布时间:2009/1/4 14:40:00 -- 老大,我每一个字段都试了一下 "账套编号,年,月,日,pzlx,凭证编号,flxh,凭证摘要,科目代码,jdfx,flje,制证人,附件张数" 这中间的每一个字段都不被认为是目标表中已经有的内容,无限制地追加进来. 我记得以前的版本没有这个问题的,以前我是测试过的. 注意,我的来源表是SQL查询表,目标表是外部数据源ACCESS. |
-- 作者:wcs -- 发布时间:2009/1/4 14:47:00 -- 我又试了一下,将true 改为 false ,效果一样 |
-- 作者:wcs -- 发布时间:2009/1/4 14:48:00 -- 经测试,从内部表到内部表,没有问题的. [此贴子已经被作者于2009-1-4 14:50:03编辑过]
|
-- 作者:wcs -- 发布时间:2009/1/4 15:16:00 -- 经测试,主要是 .ExcludeExistValue = true 这个没有起作用,不任如何设置,都无效 |