【发布时间】:2026-01-04 05:55:02
【问题描述】:
这让我一直在兜圈子,基本上我想做的就是将 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 命名范围插入访问表时出现错误]
任何建议将不胜感激。
【问题讨论】:
-
我们不需要看错误信息的截图。当您遇到该错误时,进入调试模式,并将突出显示的文本作为一行粘贴到“立即”窗口中,然后在该行的末尾按 Enter:
Debug.Print err.Number; err.Description您可以从Debug.Print复制输出并将其粘贴到您的问题。 -
...或 Ctrl+C 通常会将消息框的文本复制到剪贴板
标签: excel vba object ms-access oledb