以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  Merger中的Fields  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=191959)

--  作者:wangnovel
--  发布时间:2024/5/18 15:18:00
--  Merger中的Fields
Merger中的Fields,可以指定要合并的字段(列),但如果数据源和要合并的表字段名不同,我又只需要合并其中一部分字段的数据,请问该如何操作。fields中指定的字段,是数据源中的字段,还是要合并的表的字段?


--  作者:有点蓝
--  发布时间:2024/5/18 15:27:00
--  
fields指的是数据源的列。

Dim mg As New Merger
mg.SourcePath = "d:\\问题\\123.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "订单$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.Fields = "产品1,雇员1"
mg.FieldMaps.Add("产品1", "产品")
mg.FieldMaps.Add("雇员1", "雇员")
mg.Merge() \'开始合并


  • Fields
    指定要合并的字段(列),不同的字段用逗号隔开,如果不指定,则合并所有字段。
     
  • DataTableName
    指定接收合并数据的数据表的名称,这个表必须是当前项目中已经存在的表。
     

  • Header
    逻辑型,如果合并的是文本文件,用此属性指定第一行是否是列名称。
     

  • FieldMaps
    这是一个集合,要合并的表和接收数据的表的字段名称存在不一致的情况下,可以用此集合指定两个表之间字段的对应关系。
    假定要合并的表中某一字段的名称为“ID”,合并的时候,需要将该列的内容合并到接收表中的"编号"列,可以设置代码:
    Dim mg As New Merger
    mg.FieldMaps.Add("ID","编号")


--  作者:wangnovel
--  发布时间:2024/5/18 15:51:00
--  
下列代码报错:表达式中 \'总收入\' 函数未定义。

Dim mg As New Merger
mg.SourcePath = dlg.FileName 
mg.Format = "excel" \'指定格式
mg.SourceTableName = "医院基本情况表$" \'总收入(万元)是数据源的列
mg.DataTableName = "医院基本情况调查表"
mg.Fields = "医院名称,调查年份,市州,总收入(万元)" 

mg.FieldMaps.Add("总收入(万元)","总收入")

mg2.Merge() \'开始合并   




--  作者:wangnovel
--  发布时间:2024/5/18 16:00:00
--  
我发现是因为“总收入(万元)”中的括号引起的错误,去掉括号就可以了,但有没有办法既保留括号又不报错?
--  作者:有点蓝
--  发布时间:2024/5/18 16:41:00
--  
列名不能有括号等特殊符号的