Maison > base de données > tutoriel mysql > Comment corriger « Erreur d'exécution 3704 : l'opération n'est pas autorisée lorsque l'objet est fermé » dans Excel VBA lors de l'accès aux bases de données SQL ?

Comment corriger « Erreur d'exécution 3704 : l'opération n'est pas autorisée lorsque l'objet est fermé » dans Excel VBA lors de l'accès aux bases de données SQL ?

Mary-Kate Olsen
Libérer: 2025-01-01 01:06:11
original
397 Les gens l'ont consulté

How to Fix

Accès à la base de données SQL dans Excel-VBA : résolution de l'erreur 3704

En réponse à la requête concernant « Erreur d'exécution 3704 : opération n'est pas autorisé lorsque l'objet est fermé" rencontré lors de la copie de données d'une base de données SQL vers une feuille Excel à l'aide de VBA, la réponse fournie suggère ce qui suit modifications :

Extrait de code modifié :

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
Copier après la connexion

Modifications apportées :

  • Catalogue initial Ajouté : La chaîne de connexion est désormais initialisée avec le paramètre "Catalogue initial", spécifiant la base de données à accès.
  • Commande SQL simplifiée : Au lieu d'utiliser ADODB.Command, une simple instruction SQL (strSQL) est créée et utilisée directement pour ouvrir le jeu d'enregistrements.
  • Affectations de champs simplifiées : Le format "Fields["FieldName].Value" utilisé pour attribuer des valeurs de champ est supprimé.

En implémentant ces modifications, le problème de fermeture du jeu d'enregistrements est résolu, ce qui permet une récupération et une copie réussies des données dans la feuille Excel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal