微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access 中的 UPDATE 表从 Excel 范围中获取数据

如何解决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 举报,一经查实,本站将立刻删除。