Heim > Datenbank > MySQL-Tutorial > Wie behebt man „Laufzeitfehler 3704: Vorgang ist nicht zulässig, wenn Objekt geschlossen ist' in Excel VBA beim Zugriff auf SQL-Datenbanken?

Wie behebt man „Laufzeitfehler 3704: Vorgang ist nicht zulässig, wenn Objekt geschlossen ist' in Excel VBA beim Zugriff auf SQL-Datenbanken?

Mary-Kate Olsen
Freigeben: 2025-01-01 01:06:11
Original
398 Leute haben es durchsucht

How to Fix

Zugriff auf die SQL-Datenbank in Excel-VBA: Fehler 3704 beheben

Als Antwort auf die Anfrage zum „Laufzeitfehler 3704: Vorgang „ist nicht zulässig, wenn das Objekt geschlossen ist“ beim Kopieren von Daten aus einer SQL-Datenbank in eine Excel-Tabelle mit VBA auftritt, schlägt die bereitgestellte Antwort Folgendes vor Änderungen:

Geänderter Codeausschnitt:

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
Nach dem Login kopieren

Vorgenommene Änderungen:

  • Erster Katalog Hinzugefügt: Die Verbindungszeichenfolge wird jetzt mit dem Parameter „Initial Catalog“ initialisiert, der die Datenbank angibt um darauf zuzugreifen.
  • Vereinfachter SQL-Befehl: Anstatt ADODB.Command zu verwenden, wird eine einfache SQL-Anweisung (strSQL) erstellt und direkt zum Öffnen des Recordsets verwendet.
  • Vereinfachte Feldzuweisungen: Das zum Zuweisen von Feldwerten verwendete Format „Fields[“FieldName].Value“ ist entfernt.

Durch die Implementierung dieser Änderungen wird das Problem mit dem Schließen des Datensatzes behoben, was einen erfolgreichen Datenabruf und das Kopieren in die Excel-Tabelle ermöglicht.

Das obige ist der detaillierte Inhalt vonWie behebt man „Laufzeitfehler 3704: Vorgang ist nicht zulässig, wenn Objekt geschlossen ist' in Excel VBA beim Zugriff auf SQL-Datenbanken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage