如题
[此贴子已经被作者于2009-12-17 17:02:09编辑过]
杨大姐,请将2楼文件测试一下,结果不能排除已有值。是BUG吧?
[此贴子已经被作者于2009-12-17 11:24:06编辑过]
以下是引用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编辑过]
奇怪,我这里根本无法排除填入表中的值。
[此贴子已经被作者于2009-12-17 15:22:39编辑过]
我这里是这样的,不知与您的思路有什么不同,自己对比一下:(应用于项目属性的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编辑过]
大家研究一下,看问题出在哪里?(文件见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编辑过]
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编辑过]
杨姐细看一下,将代码执行结果:在流水表填充列中有"重复记录".
[此贴子已经被作者于2009-12-17 17:10:09编辑过]