Foxtable(狐表)用户栏目专家坐堂 → 填充器不能排除已有值


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

主题:填充器不能排除已有值

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
填充器不能排除已有值  发帖心情 Post By:2009/12/17 10:40:00 [只看该作者]

如题
[此贴子已经被作者于2009-12-17 17:02:09编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/17 11:20:00 [只看该作者]

dim f As New Filler
f.SourceTable = DataTables("表A") '指定数据来源
f.DataTable = DataTables("表B") '指定数据接收表
f.ExcludeExistValue= True
f.Append=False
f.Fill() '填充数据

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/17 11:23:00 [只看该作者]

杨大姐,请将2楼文件测试一下,结果不能排除已有值。是BUG吧?
[此贴子已经被作者于2009-12-17 11:24:06编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/17 11:25:00 [只看该作者]

以下是引用xl在2009-12-17 11:23:00的发言:
杨大姐,请将2楼文件测试一下,结果不能排除已有值。是BUG吧?
[此贴子已经被作者于2009-12-17 11:24:06编辑过]

我测试了,可以啊,只是如果表B的行数大于表A的行数,那就会只填充到表A的行数,而大于的行还是原数据,你可以在填充前先清空表B,然后再执行此代码

[此贴子已经被作者于2009-12-17 11:27:31编辑过]

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/17 11:34:00 [只看该作者]

奇怪,我这里根本无法排除填入表中的值。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:填充问题.table

[此贴子已经被作者于2009-12-17 15:22:39编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/12/17 12:17:00 [只看该作者]

我这里是这样的,不知与您的思路有什么不同,自己对比一下:(应用于项目属性的MainTableChanged事件)


If MainTable.Name = "人材机汇总" Then
    DataTables("人材机汇总").DataRows.Clear()
    if DataTables("人材机").DataRows.Count > 1
        dim f As New Filler
        f.SourceTable = DataTables("人材机") '指定数据来源
        f.SourceCols = "定额类别,费用类别,子目编号,子目名称,子目单位" '指定数据来源列
        f.ExcludeExistValue = true
        f.ExcludeNullValue = true
        f.Distinct = true
        f.DataTable = DataTables("人材机汇总") '指定数据接收表
        f.DataCols = "定额类别,费用类别,子目编号,子目名称,子目单位" '指定数据接收列
        f.Filter = "[配比子目] is null or [配比子目] <> '+' + [子目编号]"
        f.Fill()
    end if
end if

[此贴子已经被作者于2009-12-17 12:16:56编辑过]

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/17 14:17:00 [只看该作者]

大家研究一下,看问题出在哪里?(文件见5楼):
dim zkf As New Filler
zkf.SourceTable = DataTables("表一")
zkf.SourceCols = "班级"
zkf.DataTable = DataTables("流水表")
zkf.DataCols = "正课_姓名"
zkf.ExcludeExistValue = true
zkf.ExcludeNullValue = true
zkf.Distinct = true
zkf.Append=false
zkf.Fill()
[此贴子已经被作者于2009-12-17 15:24:09编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/17 16:25:00 [只看该作者]

dim zkf As New Filler
zkf.SourceTable = DataTables("表一")
zkf.SourceCols = "班级"
zkf.DataTable = DataTables("流水表")
zkf.DataCols = "正课_姓名"
zkf.Distinct = true
zkf.Append=false
zkf.Fill()

其实Distinct就是重复内容,已有内容和空白值三者都能排除的,有了它,就不再要那两条了

[此贴子已经被作者于2009-12-17 16:27:25编辑过]

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/17 17:08:00 [只看该作者]

杨姐细看一下,将代码执行结果:在流水表填充列中有"重复记录".
[此贴子已经被作者于2009-12-17 17:10:09编辑过]

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


加好友 发短信
等级:一尾狐 帖子:400 积分:3961 威望:0 精华:0 注册:2009/4/28 7:39:00
  发帖心情 Post By:2009/12/18 9:01:00 [只看该作者]

看贺老师了?

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