如何解决Access 中的 UPDATE 表从 Excel 范围中获取数据
我正在尝试更新 Access 中的表,从 Excel 中的范围 (rng) 中获取数据。我改编了 Brad Importing Excel worksheet range to Ms Access Table 的一个宏 但我收到运行时错误“3219”。 如果我将 sqlTransferFromExcel = "UPDATE TableA T1 " 替换为 "Select FROM TableA T1 " 它可以工作。我想这个问题很喜欢 UPDATE 语句。 代码如下:
Public Sub ImportFromWorksheet()
Dim strFile As String,strCon As String,strMsg
Dim sht As Worksheet
Dim TipoRecordset As RecordsetTypeEnum
Dim db_Open As Boolean,rs_Open As Boolean
Dim rs As DAO.Recordset
Dim nRows As Integer
Dim getRecordset()
Set sht = ActiveSheet
strFile = sht.Parent.FullName
strCon = "Excel 12.0;HDR=No;Database=" & strFile
Dim strsql As String,sqlTransferFromExcel As String
Dim row As Long
row = 35
Dim rng As String
rng = "C30:E34" ',E29:E34"
sqlTransferFromExcel = "UPDATE TableA T1 " & _
"INNER JOIN (SELECT F1,F3 FROM [{{connString}}].[{{sheetName}}${{rng}}]) T2 " & _
"ON T2.F1 = T1.blkName_Override " & _
"SET " & _
"T1.fldVaue_Override = T2.F3 "
sqlTransferFromExcel = Replace(sqlTransferFromExcel,"{{rng}}",rng)
sqlTransferFromExcel = Replace(sqlTransferFromExcel,"{{connString}}",strCon)
sqlTransferFromExcel = Replace(sqlTransferFromExcel,"{{sheetName}}",sht.Name)
open_DB (True)
db.Execute sqlTransferFromExcel
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。