簡體   English   中英

從Excel導出到Access錯誤

[英]Exporting from Excel to Access error

我試圖將表格從Excel導出到Access DB中的表格,但是我不斷收到錯誤消息“數據庫或對象是只讀的”。 這是qestion中的代碼。

    dbWB = Application.ActiveWorkbook.FullName
    dbWS = Application.ActiveSheet.Name
    dsh = "[" & dbWS & "$]"

    Set DB = CreateObject("ADODB.Connection")
    dbPath = "\\Corpaa.aa.com\CampusHome\IOCADHome02\758673\Projects\Global Analysis Tool\MX Analysis DB\Global Line MX Hub Review DB.accdb"
    scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath

    DB.Open scn

    DB.Execute "DELETE * FROM tblNewSchedule;"

    SQLInsert = "INSERT INTO tblNewSchedule "
    SQLSelect = "SELECT * "
    SQLFrom = "FROM [Excel 8.0; HDR=YES; DATABASE= " & dbWB & "]." & dsh & " "

    strQry = SQLInsert & SQLSelect & SQLFrom & ";"
   DB.Execute strQry
   DB.Close

DELETE qry執行得很好,沒有錯誤。 問題是strQry執行。 我相信WB是只讀的,但是我正在從WB運行代碼。 我正在運行Office2010。感謝您的幫助。

因此,在繼續搜索之后,我發現了另一種效果很好的方法。 我在這里找到它

這是我的新工作代碼。 感謝您的協助。

    dbWB = Application.ActiveWorkbook.FullName
    dbWS = Application.ActiveSheet.Name
    dsh = "[" & dbWS & "$]"

    Set DB = CreateObject("ADODB.Connection")
    dbPath = "\\Corpaa.aa.com\CampusHome\IOCADHome02\758673\Projects\Global Analysis Tool\MX Analysis DB\Global Line MX Hub Review DB.accdb"
    scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath

    DB.Open scn

    Dim rs As ADODB.Recordset
    Dim r As Long
    Dim y As Long

    y = TWB.Cells(1, 1).End(xlDown).Row
    r = TWB.Cells(1, 1).End(xlToRight).Column

    DB.Execute "DELETE * FROM tblNewSchedule;"
    Set rs = New ADODB.Recordset
    rs.Open "tblNewSchedule", DB, adOpenKeyset, adLockOptimistic, adCmdTable

    For i = 2 To y
        With rs
            .AddNew
                For j = 1 To r
                    fName = TWB.Cells(1, j)
                    fData = TWB.Cells(i, j)
                    .Fields(fName) = fData
                Next j
        End With
    Next i

   DB.Close

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM