Foxtable(狐表)用户栏目专家坐堂 → [求助] 合并数据时列名不同请问怎么办


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

主题:[求助] 合并数据时列名不同请问怎么办

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


加好友 发短信
等级:幼狐 帖子:80 积分:924 威望:0 精华:0 注册:2018/2/9 21:32:00
[求助] 合并数据时列名不同请问怎么办  发帖心情 Post By:2018/5/19 10:44:00 [只看该作者]

我采用下面的代码合并excel数据到内部表中
但是原来的excel表有两列
“收件人姓名*”,“收件人电话/手机”
这两列标题有特殊字符
在FOX里面只能设成
"收件人姓名“,”收件人电话”
这样就会导致两个列名不同;
这时该怎么修改下面的代码来把这两列数据合并进去呢

=================================================
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "sheet0$"
    mg.DataTableName = "订单临时表"
    mg.Merge()
End If

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/19 10:50:00 [只看该作者]

1、把Execl标题改正确再导

2、试试

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

mg.FieldMaps.Add("收件人电话/手机","收件人电话")

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


加好友 发短信
等级:幼狐 帖子:80 积分:924 威望:0 精华:0 注册:2018/2/9 21:32:00
  发帖心情 Post By:2018/5/19 11:21:00 [只看该作者]

谢谢,这样可以了
但是用这个方法把数据合并到表中,
在表事件DataColChanged中以下代码却不起作用了
===============================================================
Select Case e.DataCol.name
    Case "系统单号"
        Dim filter As String = "系统单号 = '" & e.DataRow("系统单号") & "'"
        Dim sum1 As Double = e.DataTable.Compute("count(系统单号)", filter)
        e.DataTable.ReplaceFor("款数",sum1,filter)
        filter = "系统单号 = '" & e.oldvalue & "'"
        sum1 = e.DataTable.Compute("count(系统单号)", filter)
        e.DataTable.ReplaceFor("款数",sum1,filter)
End Select
是怎么回事呢

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/19 11:26:00 [只看该作者]

Merger不会触发表事件

导入后调用一下重置列http://www.foxtable.com/webhelp/scr/1468.htm

 回到顶部