Foxtable(狐表)用户栏目专家坐堂 → 关于批量新增订单问题


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

主题:关于批量新增订单问题

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


加好友 发短信
等级:婴狐 帖子:13 积分:156 威望:0 精华:0 注册:2021/4/26 11:59:00
关于批量新增订单问题  发帖心情 Post By:2021/4/29 10:09:00 [只看该作者]

有一个重要的需求。客户发来一份运输订单是用excel2007做的文件,为了快速新增到系统中,我采取了合并表的方法,代码如下:
Dim mg As New Merger
    mg.SourcePath = "E:\foxtable2020\trial\运输订单20210429" 
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "运输订单20210429" '指定要合并的表
    mg.DataTableName = "运输订单" '指定接收数据的表
    mg.Merge() '开始合并

结果返回的提示信息如下:
Microsoft Jet 数据库引擎找不到对象'运输订单20210429'。请确定对象是否存在,并正确地写出它的名称和路径。

请教老师,是什么原因造成的?或者批量录入格式化的运输订单,可用什么方法处理?

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 10:23:00 [只看该作者]

要指定完整文件名,确定sheet名称正确,然后试试

Dim mg As New Merger
    mg.SourcePath = "E:\foxtable2020\trial\运输订单20210429.xls
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "运输订单20210429$" '指定要合并的表
    mg.DataTableName = "运输订单" '指定接收数据的表
    mg.Merge() '开始合并

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


加好友 发短信
等级:婴狐 帖子:13 积分:156 威望:0 精华:0 注册:2021/4/26 11:59:00
  发帖心情 Post By:2021/4/29 10:47:00 [只看该作者]

按您的指点修改后,结果如下:
Dim mg As New Merger
    mg.SourcePath = "E:\foxtable2020\trial\运输订单20210429.xlsx
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "运输订单20210429" '指定要合并的表
    mg.DataTableName = "运输订单" '指定接收数据的表
    mg.Merge() '开始合并
返回的结果如下:
Microsoft Office Access 数据库引擎找不到对象“运输订单20210429”。请确定该对象存在,并正确拼写其名称和路径名。
如果这条代码改为:
   mg.SourceTableName = "运输订单20210429$" '指定要合并的表
则返回结果如下:
'运输订单20210429$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。

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


加好友 发短信
等级:婴狐 帖子:13 积分:156 威望:0 精华:0 注册:2021/4/26 11:59:00
  发帖心情 Post By:2021/4/29 10:54:00 [只看该作者]

   

Dim mg As New Merger
    mg.SourcePath = "E:\foxtable2020\trial\运输订单20210429.xlsx
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "运输订单20210429sheet1" '指定要合并的表
    mg.DataTableName = "运输订单" '指定接收数据的表
    mg.Merge() '开始合并
如果这样的话,返回结果如下:
Microsoft Office Access 数据库引擎找不到对象“运输订单20210429sheet1”。请确定该对象存在,并正确拼写其名称和路径名。

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 11:01:00 [只看该作者]

打开execl文件,看下面工作簿sheet的名称是什么,照搬,不要乱写

Dim mg As New Merger
    mg.SourcePath = "E:\foxtable2020\trial\运输订单20210429.xlsx
    mg.Format = "excel2007" '指定格式
    mg.SourceTableName = "sheet1$这里是seet名称,不是文件名称
    mg.DataTableName = "运输订单" '指定接收数据的表
    mg.Merge() '开始合并

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


加好友 发短信
等级:婴狐 帖子:13 积分:156 威望:0 精华:0 注册:2021/4/26 11:59:00
  发帖心情 Post By:2021/4/29 11:10:00 [只看该作者]

谢谢。测试过了,成功了!图片点击可在新窗口打开查看

 回到顶部