首頁 > 資料庫 > mysql教程 > 如何修復Excel VBA存取SQL資料庫時出現「運行時錯誤3704:物件關閉時不允許操作」?

如何修復Excel VBA存取SQL資料庫時出現「運行時錯誤3704:物件關閉時不允許操作」?

Mary-Kate Olsen
發布: 2025-01-01 01:06:11
原創
398 人瀏覽過

How to Fix

在Excel-VBA 中存取SQL 資料庫:解決錯誤3704

針對「運行時錯誤3704:操作」的查詢使用VBA 將資料從SQL 資料庫複製到Excel工作表時遇到“對象關閉時不允許”,提供的答案建議如下修改:

修改的程式碼片段:

Sub GetDataFromADO()
    'Declare variables'
        Set objMyConn = New ADODB.Connection
        Set objMyRecordset = New ADODB.Recordset
        Dim strSQL As String

    'Open Connection'
        objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
        objMyConn.Open

    'Set and Execute SQL Command'
        strSQL = "select * from myTable"

    'Open Recordset'
        Set objMyRecordset.ActiveConnection = objMyConn
        objMyRecordset.Open strSQL

    'Copy Data to Excel'
        ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)

End Sub
登入後複製

所做的更改:

  • 初始目錄新增:連接字串現在使用「初始目錄」進行初始化參數,指定要存取的資料庫。
  • 簡化的 SQL 指令: 不使用 ADODB.Command,而是建立一個簡單的 SQL 語句(strSQL)並直接用於開啟記錄集。
  • 簡化的欄位分配:用於分配欄位值的「Fields[」FieldName].Value」格式為已刪除。

透過實作這些修改,記錄集關閉的問題已解決,從而可以成功檢索資料並將其複製到Excel 工作表。

以上是如何修復Excel VBA存取SQL資料庫時出現「運行時錯誤3704:物件關閉時不允許操作」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板