以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  按条件填充数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85863)

--  作者:爱相随
--  发布时间:2016/6/4 1:24:00
--  按条件填充数据

老师,将同一表中的数据分别填充到多个表,比如我要将期初余为表中,科目性质为借方科目的记录填充到试算平衡表1表中,将科目性质为贷方科目的记录填充到试算平衡表2中,代码如下,但是结果是没有按设置的条件处理,而是全部都填充到2个表中了,请指导,谢谢!!

代码如下:

For Each r As Row In CurrentTable.Rows
    Dim f As New Filler
    If R("科目性质") = "借方科目" Then
        DataTables("试算平衡表1").datarows.clear
        f.SourceTable = DataTables("科目期初余额") \'指定数据来源
        f.SourceCols = "科目名称,科目编码,余额方向,金额" \'指定数据来源列
        f.DataTable = DataTables("试算平衡表1") \'指定数据接收表
        f.DataCols = "科目名称,科目编码,余额方向,金额" \'指定数据接收列
        f.ExcludeExistValue = True
        f.Fill() \'填充数据
    ElseIf R("科目性质") = "贷方科目" Then
        DataTables("试算平衡表2").datarows.clear
        f.SourceTable = DataTables("科目期初余额") \'指定数据来源
        f.SourceCols = "科目名称,科目编码,余额方向,金额" \'指定数据来源列
        f.DataTable = DataTables("试算平衡表2") \'指定数据接收表
        f.DataCols = "科目名称,科目编码,余额方向,金额" \'指定数据接收列
        f.ExcludeExistValue = True
        f.Fill() \'填充数据
       
    End If
Next


--  作者:Hyphen
--  发布时间:2016/6/4 10:04:00
--  
DataTables("试算平衡表1").datarows.clear
DataTables("试算平衡表2").datarows.clear
Dim f As New Filler
f.SourceTable = DataTables("科目期初余额") \'指定数据来源
f.SourceCols = "科目名称,科目编码,余额方向,金额" \'指定数据来源列
f.DataTable = DataTables("试算平衡表1") \'指定数据接收表
f.DataCols = "科目名称,科目编码,余额方向,金额" \'指定数据接收列
f.ExcludeExistValue = True
f.Filter = "科目性质=\'借方科目\'"
f.Fill() \'填充数据
Dim f2 As new Filler
f2.SourceTable = DataTables("科目期初余额") \'指定数据来源
f2.SourceCols = "科目名称,科目编码,余额方向,金额" \'指定数据来源列
f2.DataTable = DataTables("试算平衡表2") \'指定数据接收表
f2.DataCols = "科目名称,科目编码,余额方向,金额" \'指定数据接收列
f2.ExcludeExistValue = True
f2.Filter = "科目性质=\'贷方科目\'"
f2.Fill() \'填充数据