我有一个VB6应用程序,我需要将excel文件中的行/列数据插入到访问数据库中。
我的访问数据库的连接字符串:
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb" & ";Persist Security Info=False;Jet OLEDB:Database Password=*****"
我正在尝试使用此SQL字符串插入数据:
Dim sql As String
sql = "INSERT INTO tbl_trade_tcp ("
sql = sql & "[field_A], "
sql = sql & "[field_B], "
sql = sql & "[field_C]"
sql = sql & ") "
sql = sql & "SELECT * FROM [Excel " & xlApp.Application.Version & ";HDR=NO;IMEX=1;Database=" & wb.FullName & "].[" & ws.Name & "$AH3:AJ36,B3:AG36]"
db.Execute sql
现在的问题是不断收到此错误消息:
Cannot find installable ISAM
出于参考目的,我使用了用于创建sql字符串的信息:
答案 0 :(得分:0)
在查看各种帖子后,我发现了以下内容:
而不是使用当前的机器' Excel版本,需要默认为Excel 8.0
SELECT * FROM [ Excel" &安培; xlApp.Application.Version& " 强>; HDR = NO; IMEX = 1;数据库=" &安培; wb.FullName& "。] [" &安培; ws.Name& " $ AH3:AJ36,B3:AG36]"
应该是
SELECT * FROM [ Excel 8.0 ; HDR = NO; IMEX = 1;数据库=" &安培; wb.FullName& "。] [" &安培; ws.Name& " $ AH3:AJ36,B3:AG36]"
参考:here
确保列名与excel文件匹配。如果excel文件中没有列名,则需要逐个声明它们。
参考:here