from语法错误?AccessExcel代码如下:报错:C/C++ codequery-SQL-Add(Linsertintoda( 单位, 类,子类 )
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中测试一下