代码之家  ›  专栏  ›  技术社区  ›  iDevlop

ADODB查询的Excel工作表名称问题

  •  0
  • iDevlop  · 技术社区  · 6 年前

    后跟空格的点

    XYZ S.à r.l. -12.2017  -> error   
    XYZ S.à r.l -12.2017   -> works ok (dot before space is deleted)
    XYZ S.à r.l.-12.2017   -> works ok (space after dot is deleted)
    

    当然,在查询中,工作表名称是由反勾号括起来的:-)
    错误消息-2147217900是;名称“XYZ S.r.l.-12.2017$A9:H49”的括号无效

    我的问题是:你知道我应该追踪的其他类似问题吗?有记录吗?


    update:生成的SQL语句(但同样,这已经在许多其他工作簿中成功地进行了测试,我通过重命名上面所述的2个工作表中的第1个工作表,使其正常工作)

    select cstr(pr.reference), pr.[name],null, pr.item, pr.country, pr.currency, pr.maturity, pr.sector 
     from [Excel 12.0 Xml;HDR=Yes;Database=\\mydomain.com\someLongPath\XYZ S.à r.l. - 12.2017 - reviewed - MACRO TESTING.xlsx].`XYZ S.à r.l. -12.2017$A9:H49` pr
     where  cstr(pr.reference) not in (select cur.reference from [Excel 12.0 Xml;HDR=Yes;Database=\\mydomain.com\someLongPath\KB Sarl - 01.2018 to 03.2018 - MACRO TESTING.xlsx].`TB - 03.2018$A9:H51`cur ) 
     and pr.item is not null
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   iDevlop    6 年前

    结束这个问题:

    我得出的结论是,ADODB无法处理包含点和空格(“ . ").

        2
  •  0
  •   Victor K    5 年前

    . + 具有 # + 空间 如在 TableName=Replace(Tablename,". ","# ") 足够好用了。这个建议来了 from here