from语法异常?Access<=>Excel

from语法错误?Access<=>Excel
代码如下:报错:
C/C++ code

  query->SQL->Add(L"insert   into   da( 单位, 类,子类 ) ");
  query->SQL->Add(L"   select  单位, 类,子类 from ");
  query->SQL->Add(L" OpenRowSet( 'Microsoft.ACE.OLEDB.12.0', 'excel   12.0;hdr=yes;database=Book.xlsx', 'SELECT * FROM [报表$]' ");



query连的是一个access,把Book.xlsx表“报表”插入到access的表“da”中。用的是ADO.

------解决方案--------------------
貌似OpenRowSet函数最后的)你忘了写了吧。

弄个简单的你试试:
String strSQL = String().sprintf(
"select 单位,类,子类 into da "
"from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'excel 12.0;hdr=yes;database=Book.xlsx', 'SELECT * FROM [报表$]')");

query->SQL->Text = strSQL;
------解决方案--------------------
OpenRowSet是SQLSERVER的函数,access是不支持的
从excel导入access,只要简单地:
SELECT * into [表1] FROM [excel 12.0;database=d:\temp\testx1.xlsx].[sheet1$]
这个我测试成功,只要改成你的表名/字段名并加入程序中即可
另外:你可以将生成的SQL在access中测试一下