我的程序是用VB.NET编写的,我有一个excel表,只有一列,列的类型是Text。现在我想将所有excel表的行添加到MS Access表中。
My Access表有5列,我必须为其余字段提供一些静态数据。我不能让他们空着,因为我的桌子结构不允许我让他们空着。它们是强制性的。
附加每个单元格的文本和一些静态信息以生成查询字符串
INSERT into TableName(c1,c2,c3)
values
(v1,v2,v3),
(v1,v2,v3),
(v1,v2,v3),
(v1,v2,v3)
...
...
(n1,n2,n3);
但我在此查询中收到错误,有任何建议吗?
答案 0 :(得分:2)
您可以针对连接运行SQL以直接与Access和Excel交互。例如,使用连接:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Z:\Test.xlsm;
Extended Properties="Excel 12.0 xml;HDR=Yes;";
或Jet
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Z:\Test.xls;
Extended Properties="Excel 8.0;HDR=Yes;";
您可以运行以下SQL:
INSERT INTO [;DATABASE=Z:\Docs\Test.accdb].Table1 (ID,Atext)
SELECT ID, AText FROM [Sheet7$]
或Jet
INSERT INTO [;DATABASE=Z:\Docs\Test.mdb].Table1 (ID,Atext)
SELECT ID, AText FROM [Sheet7$]