这是让我在圆圈中转了一段时间的事情,基本上我想做的就是将Excel动态范围的值插入到Access表中。
通过参考范围我已经成功地做到了这一点,但是为了让事情更加自给自足,我宁愿使用动态范围。
我的代码如下:
Sub ExportDistDatatoSql()
Dim cn As ADODB.Connection
Dim STRQUERY As String
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\uMyDB.accdb;"
.Open
End With
ssql = "INSERT INTO Crude_Prods_DB Select * from [Excel 12.0;HDR=YES;DATABASE=C:\TEST\mysheet.xlsm].[n_range]"
cn.Execute ssql
End Sub
我看到的错误已附加,我已检查工作簿中是否存在[n_range]。
[尝试将数据从excel命名范围插入访问表时出现错误]
我们非常感谢任何建议。
答案 0 :(得分:1)
我很难学到这一点。只有在Excel运行时才会解析动态范围,因此当您只读取文件时它不存在。
Access只能读取已保存和固定的命名范围。