Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
233 views
in Technique[技术] by (71.8m points)

sql - UPDATE Table in Access taking data from Excel Range

I'm trying to update a table in Access, taking data from a range(rng) in Excel. I adapted a macro from Brad Importing Excel worksheet range to Ms Access Table but I'm receiving the Run-time error '3219'. If I substitute sqlTransferFromExcel = "UPDATE TableA T1 " with "Select FROM TableA T1 " it works. The issue I suppose is liked to the UPDATE statment. Here the code:

    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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...