以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何复制数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3775)

--  作者:ybmjy
--  发布时间:2009/8/1 15:46:00
--  如何复制数据
如何将当前表中符合条件的行复制到其他表中,同进删除当前表中的行。找遍所有帮助都未整明白
[此贴子已经被作者于2009-8-1 15:46:10编辑过]

--  作者:yangming
--  发布时间:2009/8/1 15:53:00
--  

数据填充器

Filler用于从表中提取数据,并填充到另一个表中。

属性:

  • SourceTable

    数据来源表。
     
  • SourceCols

    数据来源列,不同的列用逗号分割。
     
  • DataTable

    数据接收表。
     
  • DataCols

    数据接收列,不同的列用逗号分割。
     
  • ExcludeExistValue

    逻辑型,设为True,排除接收表中已经存在的内容。
     
  • ExcludeNullValue

    逻辑型,设为True,排除空白值。
     
  • Filter

    填充条件。
     
  • Distinct

    逻辑型,是否排除重复内容,默认为True;如果设为False,将不会排除重复内容,也不会排除已有内容和空白值。
     
  • Append

    逻辑型,默认为True,在接收表中增加新行用于接收数据,设为False,则在原有的行中填充,如果不够再增加新行。

提示:数据来源列和数据接收列是可以省略的,或者只设置其中一个,Filler会自动查找同名列进行匹配填充。

方法:

Fill

开始填充数据
 

示例:

例如从订单表中提取不重复的客户、产品数据,填充到统计表中:

dim f As New Filler
f
.SourceTable = DataTables("订单") \'指定数据来源
f
.SourceCols = "产品,客户" \'指定数据来源列
f
.DataTable = DataTables("统计") \'指定数据接收表
f
.DataCols = "产品,客户" \'指定数据接收列
f
.Fill()
\'填充数据


--  作者:czy
--  发布时间:2009/8/1 20:45:00
--  
以下是引用ybmjy在2009-8-1 15:46:00的发言:
如何将当前表中符合条件的行复制到其他表中,同进删除当前表中的行。找遍所有帮助都未整明白
[此贴子已经被作者于2009-8-1 15:46:10编辑过]



For Each dr1 As DataRow In DataTables("表A").DataRows
    if dr1("第一列") = "a" Then
        Dim dr2 As DataRow = DataTables("表B").AddNew()
        For Each dc As DataCol In DataTables("表A").DataCols
            dr2(dc.name) = dr1(dc.name)
        Next
    End If
Next
DataTables("表A").DeleteFor("[第一列] = \'a\'")


--  作者:ybmjy
--  发布时间:2009/8/1 23:49:00
--  
搞明白了,谢谢!原来整成填充器了哈
--  作者:czy
--  发布时间:2009/8/2 0:07:00
--  
以下是引用ybmjy在2009-8-1 23:49:00的发言:
搞明白了,谢谢!原来整成填充器了哈


呵呵,用填充器同样可以的,如:

Dim f As New Filler
f.SourceTable = DataTables("来源表")
f.DataTable = DataTables("接收表")
f.Filter =  "[第一列] = \'a\'"
f.Fill()
DataTables("来源表").DeleteFor("[第一列] = \'a\'")