以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于批量新增订单问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164195)

--  作者:SHB20180225
--  发布时间: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\'。请确定对象是否存在,并正确地写出它的名称和路径。

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

--  作者:有点蓝
--  发布时间: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
--  发布时间: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
--  发布时间: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”。请确定该对象存在,并正确拼写其名称和路径名。

--  作者:有点蓝
--  发布时间: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
--  发布时间:2021/4/29 11:10:00
--  
谢谢。测试过了,成功了!图片点击可在新窗口打开查看