读书人

from语法异常?Accesslt;=gt;Excel

发布时间: 2012-02-09 18:22:27 作者: rapoo

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中测试一下

读书人网 >C++ Builder

热点推荐