Lors de la tentative de récupération de données d'une base de données SQL dans une feuille Excel à l'aide du code VBA, les utilisateurs peuvent rencontrer Erreur d'exécution 3704, indiquant une opération non valide avec un objet fermé. Cela se produit généralement lors de l'étape de copie des données du jeu d'enregistrements vers la feuille Excel.
L'une des causes potentielles de cette erreur réside dans la chaîne de connexion. Assurez-vous que la chaîne de connexion inclut le paramètre Catalogue initial, spécifiant le nom de la base de données à laquelle accéder. Voici une chaîne de connexion mise à jour avec le paramètre :
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
Un autre problème peut être l'utilisation d'une couche supplémentaire d'indirection lors de la spécification de la commande SQL. Pour simplifier le code et éviter l'erreur, vous pouvez utiliser directement une chaîne d'instruction SQL comme suit :
strSQL = "select * from myTable"
Ensuite, ouvrez le jeu d'enregistrements en utilisant la chaîne d'instruction SQL comme texte de commande :
objMyRecordset.Open strSQL
En résolvant ces problèmes potentiels et en vous assurant que la chaîne de connexion est complète et que la commande SQL est exécutée correctement, vous devriez pouvoir récupérer avec succès les données de la base de données SQL dans votre feuille Excel en utilisant VBA.
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!