Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于 filler 的自动填充条件.如何理解?

1楼
wcs 发表于:2009/1/4 12:34:00
我有这样一段代码:

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编辑过]
2楼
wcs 发表于:2009/1/4 12:39:00
我不明白,怎样才算是完全一样的行?

如果将ID列也考虑进去,那必定是不一样的行了,ID自动生成,没有重复的,所以每一次都判断为不同的行.

如果只判断我要追加的列的内容,那就合理一些了.

急,我在线等!
[此贴子已经被作者于2009-1-4 12:39:13编辑过]
3楼
wcs 发表于:2009/1/4 13:03:00
我的查询表是用SQL查询来的,

我在考虑是否与这个查询结果不各列的数据类型有关,虽然值是一样的,类型不同也可能造成不同的判断?
4楼
狐狸爸爸 发表于:2009/1/4 13:19:00

我测试到正常,你每次排除一列,看看到底那列造成的。

5楼
wcs 发表于:2009/1/4 14:40:00
老大,我每一个字段都试了一下

"账套编号,年,月,日,pzlx,凭证编号,flxh,凭证摘要,科目代码,jdfx,flje,制证人,附件张数"

这中间的每一个字段都不被认为是目标表中已经有的内容,无限制地追加进来.

我记得以前的版本没有这个问题的,以前我是测试过的.

注意,我的来源表是SQL查询表,目标表是外部数据源ACCESS.
6楼
wcs 发表于:2009/1/4 14:47:00
我又试了一下,将true  改为  false  ,效果一样 
7楼
wcs 发表于:2009/1/4 14:48:00
经测试,从内部表到内部表,没有问题的.
[此贴子已经被作者于2009-1-4 14:50:03编辑过]
8楼
wcs 发表于:2009/1/4 15:16:00
经测试,主要是  .ExcludeExistValue = true

这个没有起作用,不任如何设置,都无效
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.