以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]filler的数据格式问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120784) |
-- 作者:chnfo -- 发布时间:2018/6/23 19:20:00 -- [求助]filler的数据格式问题 dim f As New
Filler 问题 如果X表中的A列为数字,而Y表中的FA列为文本,不能filler吗? 如果要导入进去,怎么处理呢? |
-- 作者:chnfo -- 发布时间:2018/6/24 22:58:00 -- 总算找到问题。是因为left join后,查出来的值是空值。 然后往表中filler的时候,0值和空值会有问题。 那么,有什么可以将left join得到的一些空值数据赋0呢? 查了一下,ACCESS中有一个NZ函数,NA(合计数量,0) as 合计数量。 但是,好象FT中不支持这个NZ函数。 只能用iif(合计数量 is null,0,合计数量) as 合计数量?
|
-- 作者:有点甜 -- 发布时间:2018/6/24 23:04:00 -- 只能用 iif 函数处理。 |
-- 作者:chnfo -- 发布时间:2018/6/24 23:09:00 -- 收到,折腾了好久,终于搞清楚原因,唉 |
-- 作者:chnfo -- 发布时间:2018/6/25 9:13:00 -- 所以,不论用FT的combine或是用SQLCommand(用了lfet join等)的方式生成的表,用filler方法的时候,都可能出现问题。 因为combine里生成的数据列有可能是空值,而用SQL生成的也会有空值。 当它们使用filler方法时,ExcludeExistValue参数对源表中的空值似乎是没有判断能力的。
[此贴子已经被作者于2018/6/25 9:26:10编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/25 9:23:00 -- 那你这样做
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=69898&authorid=0&page=0&star=2
|
-- 作者:chnfo -- 发布时间:2018/6/25 9:39:00 -- 你的也算是一个方法,不过效率可能不行。象链接所示的例子,如果外部表的dkl的数据量行在百八十行,可能还行,但是如果数据有上万行的话,可能就会非常慢了。 我注意到里面有两次遍历,而且遍历过程中还要用addnew,还要赋值,反正在FT中做这种操作,如果有上万行,肯定奇慢无比。在后台可能会快一些,不过应当也快不到哪去
[此贴子已经被作者于2018/6/25 9:44:08编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/25 9:43:00 -- 效率慢,参考
http://www.foxtable.com/webhelp/scr/2225.htm
|
-- 作者:chnfo -- 发布时间:2018/6/25 9:58:00 -- 先根据发票明细生成空表dt,然后再用外部表生成dt1 然后将dt1的数据逐行填充到dt中,多这一步操作,就能将dt1中的空值问题解决? 然后在filler的时候,用dt而不是直接用dt1,这是个什么机制? |
-- 作者:有点甜 -- 发布时间:2018/6/25 10:10:00 -- 回复9楼,find查找把空值处理了啊。 |