Foxtable(狐表)用户栏目专家坐堂 → [求助]用Merge合并access数据后很多空白行


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

主题:[求助]用Merge合并access数据后很多空白行

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
[求助]用Merge合并access数据后很多空白行  发帖心情 Post By:2022/3/28 18:17:00 [只看该作者]

用帮助文件这段代码合并数据后,合并进来的数据,出现很多空行,是什么情况

Dim dlg As New OpenFileDialog
dlg
.Filter = "Access文件|*.mdb"
dlg
.MultiSelect = True '允许选择多个文件
If
dlg.ShowDialog =DialogResult.OK Then
    For Each
fl As String In dlg.FileNames
        Dim
mg As New Merger
       
mg.SourcePath = fl
       
mg.SourceTableName = "订单"
       
mg.DataTableName = "订单"
       
mg.Merge()
    Next
End If


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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(xuhuibin105)[求助]用Merge合并access数据后...  发帖心情 Post By:2022/3/28 19:30:00 [只看该作者]

原始数据存在空行?
可以写入一个条件  合并后删除符合条件的空行   deltelfor

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
  发帖心情 Post By:2022/3/28 20:01:00 [只看该作者]

我查看了access文件,里面没有空行,用软件自带的高速合并没有空行,用merge命令合并后就会出现很多空白行,不知道是哪里出现了问题。

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
  发帖心情 Post By:2022/3/28 20:06:00 [只看该作者]

会不会是因为我设置了关联表的原因,因为导入的数据中,有几个表是相互关联的

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 20:34:00 [只看该作者]

Merge不可能会自动添加空行。检查一下表事件

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
  发帖心情 Post By:2022/3/28 21:10:00 [只看该作者]

大神,用以下代码是否可以在导入数据的时候关闭表事件?
systemready = false
 导入代码
systemready = true

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 21:13:00 [只看该作者]

可以。这种问题试试不就知道了

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
  发帖心情 Post By:2022/3/29 9:42:00 [只看该作者]

大神,刚才试了一下,出现一下情况,请求帮助:
1、使用了
systemready = False
Dim dlg As New OpenFileDialog
dlg.Filter = "Access文件|*.mdb"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "订单"
        mg.DataTableName = "订单"
        mg.Merge()
    Next
End If
systemready = True

2、关闭了所有表事件;
导入数据之后,还是出现了很多空白行,于是我又打开了access文件,发现出现空白行与access中的_SortKey列有关,比如access表_SortKey列的值是45,46,47,那么导入之后,就会出现先44行空白,直到衔接上45编号。

3、于是我就删除了access表中的_SortKey列,再次导入,系统提示如下:
.NET Framework 版本:2.0.50727.9151
Foxtable 版本:2017.8.19.1
错误所在事件:
详细错误信息:
至少一个参数没有被指定值。

4、此时,我又试了foxtable自带的高速合并,却能正常合并,请大神予以指点
[此贴子已经被作者于2022/3/29 9:43:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/29 9:44:00 [只看该作者]

请上传实例测试

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


加好友 发短信
等级:幼狐 帖子:112 积分:1087 威望:0 精华:0 注册:2011/4/20 15:40:00
  发帖心情 Post By:2022/3/29 10:23:00 [只看该作者]

大神,在做实例的过程中,我一个一个表测试,发现是我的代码写错了,导致出现很多空白行,谢谢大神的指点。
图片点击可在新窗口打开查看

 回到顶部