Foxtable(狐表)用户栏目专家坐堂 → [求助]filler的数据格式问题


  共有2931人关注过本帖树形打印复制链接

主题:[求助]filler的数据格式问题

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]filler的数据格式问题  发帖心情 Post By:2018/6/23 19:20:00 [只看该作者]

dim f As New Filler
f
.SourceTable = DataTables("X") '指定数据来源
f
.SourceCols = "ID,A" '指定数据来源列
f
.DataTable = DataTables("Y") '指定数据接收表
f
.DataCols = "MID,FA" '指定数据接收列
f
.Fill()
'填充数据


问题

如果X表中的A列为数字,而Y表中的FA列为文本,不能filler吗?

如果要导入进去,怎么处理呢?


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By: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 合计数量?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/24 23:04:00 [只看该作者]

只能用 iif 函数处理。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/24 23:09:00 [只看该作者]

收到,折腾了好久,终于搞清楚原因,唉

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/25 9:13:00 [只看该作者]

所以,不论用FT的combine或是用SQLCommand(用了lfet join等)的方式生成的表,用filler方法的时候,都可能出现问题。
因为combine里生成的数据列有可能是空值,而用SQL生成的也会有空值。

当它们使用filler方法时,ExcludeExistValue参数对源表中的空值似乎是没有判断能力的。
[此贴子已经被作者于2018/6/25 9:26:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/25 9:23:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/25 9:39:00 [只看该作者]

你的也算是一个方法,不过效率可能不行。象链接所示的例子,如果外部表的dkl的数据量行在百八十行,可能还行,但是如果数据有上万行的话,可能就会非常慢了。

我注意到里面有两次遍历,而且遍历过程中还要用addnew,还要赋值,反正在FT中做这种操作,如果有上万行,肯定奇慢无比。在后台可能会快一些,不过应当也快不到哪去
[此贴子已经被作者于2018/6/25 9:44:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/25 9:43:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2186 积分:17954 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/25 9:58:00 [只看该作者]

先根据fa piao明细生成空表dt,然后再用外部表生成dt1
然后将dt1的数据逐行填充到dt中,多这一步操作,就能将dt1中的空值问题解决?
然后在filler的时候,用dt而不是直接用dt1,这是个什么机制?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/25 10:10:00 [只看该作者]

回复9楼,find查找把空值处理了啊。


 回到顶部
总数 12 1 2 下一页