Foxtable(狐表)用户栏目专家坐堂 → 合并数据遇到的问题。。。


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

主题:合并数据遇到的问题。。。

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
合并数据遇到的问题。。。  发帖心情 Post By:2014/1/20 11:38:00 [只看该作者]

批量合并中,采用下面的帮助:

下面是一个批量合并的例子,假定目录c:\data下有多个Excel文件,这些文件都有一个名为订单的表,需要将这些表中的数据批量并到Foxtable的订单表中:

For Each fl As String In FileSys.GetFiles("c:\Data")
    Dim
mg As
New Merger
    mg.SourcePath = fl
    mg.Format =
"excel" '指定格式
    mg.SourceTableName =
"订单导入" '指定要合并的表
    mg.DataTableName =
"订单接收" '指定接收数据的表
    mg.Merge()
'开始合并
Next

 

遇到的问题:

合并后,总是自动新增加行,并合并在新增加的行中,而不是合并在接收表的空白行的第一行。。。

 

不知道能否解决?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/20 11:44:00 [只看该作者]

你好,这个是自动增加行合并的哦. 

并不是在原来的空白行里填充数据,所以请你先删除原来的空白行哦.

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/1/20 13:12:00 [只看该作者]

谢谢Bin老师。

 

有一个问题,看了帮助,没有找到答案,再来请教下Bin老师:

 

想要实现合并的数据是不重复的,比如,导入这个文件夹内所有订单表中不重复的订单号的行的数据。

 

我试过设置【列】的“禁止输入重复值”,但是只是不能合并重复订单号的这一列,重复订单号的其他列的数据一样给合并进去了。。。。

 

 


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/1/20 14:00:00 [只看该作者]

我尝试这样子:

合并时可以从文件夹中选择文件,这样可以避免合并入相同的数据。

我参考如下【帮助】:

如果希望出现一个打开文件对话框,合并用户指定的文件,可以参考下面的代码:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单"
    mg.DataTableName = "订单"
    mg.Merge()
End If

 

我将dlg.Filter= "Access文件|*.mdb" '设置筛选器
改为:dlg.Filter= "Excel文件|*.xls" '设置筛选器

 

导入时的错误信息是:不可识别的数据库格式

 

不知道是不是不能直接那样改,还是Excel不能这样从文件夹中选择。。。。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/20 14:15:00 [只看该作者]


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/20 14:25:00 [只看该作者]

以下是引用fubblyc在2014-1-20 14:00:00的发言:

我尝试这样子:

我将dlg.Filter= "Access文件|*.mdb" '设置筛选器
改为:dlg.Filter= "Excel文件|*.xls" '设置筛选器

 

导入时的错误信息是:不可识别的数据库格式

 

不知道是不是不能直接那样改,还是Excel不能这样从文件夹中选择。。。。

 

 

你要设置格式,看看Merger是如何合并Excel文件的:

http://www.foxtable.com/help/topics/0685.htm

 

 

示例七

合并Excel文件:

Dim mg As New Merger
mg
.SourcePath = "c:\data\销售管理.xls"
mg
.Format = "excel" '指定格式
mg
.SourceTableName = "订单" '指定要合并的表
mg
.DataTableName = "订单" '指定接收数据的表
mg
.Merge() '开始合并

 

一些Excel文件,可能需要在表名后加上符号$才能正常导入,例如:

Dim mg As New Merger
mg
.SourcePath = "c:\data\销售管理.xls"
mg
.Format = "excel" '指定格式
mg
.SourceTableName = "订单$" '指定要合并的表
mg
.DataTableName = "订单" '指定接收数据的表
mg
.Merge() '开始合并


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/1/20 14:36:00 [只看该作者]

狐爸,这个我弄过了,是可以的。

 

不过我现在是想实现可以通过文件夹来选择要合并的文件,而不是指定的文件!!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/20 14:39:00 [只看该作者]

OpenFileDialog 只能多选文件,不可以选文件夹

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


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2014/1/20 14:40:00 [只看该作者]

学习。

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/1/20 14:51:00 [只看该作者]

Bin老师,你刚才给我的那个链接还是在后台指定了合并的文件,而不是可以让用户选择。

 

是选文件。选Excel文件。

 

以下是选择Access文件,我想实现能选择Excel文件。。。。

 

如果希望出现一个打开文件对话框,合并用户指定的文件,可以参考下面的代码:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单"
    mg.DataTableName = "订单"
    mg.Merge()
End If

 

求。。。


 回到顶部
总数 12 1 2 下一页