Maison >base de données >tutoriel mysql >Comment puis-je améliorer les performances d'importation de grands ensembles de données Excel dans MS Access à l'aide de VBA ?

Comment puis-je améliorer les performances d'importation de grands ensembles de données Excel dans MS Access à l'aide de VBA ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 17:58:38484parcourir

How Can I Improve the Performance of Importing Large Excel Datasets into MS Access Using VBA?

Importation de données vers MS Access à l'aide d'Excel VBA : améliorations des performances

Lors de l'exportation de données d'Excel vers une table MS Access, vous pouvez être confronté à des performances problèmes lorsque l’on traite un grand nombre d’enregistrements. Cependant, il existe des méthodes pour optimiser le processus.

Le code VBA fourni parcourt chaque ligne et insère des données dans la table Access, un processus répétitif qui peut prendre du temps pour des ensembles de données volumineux. Pour améliorer les performances, envisagez d'utiliser une seule instruction SQL INSERT pour l'insertion groupée.

Code optimisé à l'aide de SQL INSERT :

Public Sub DoTrans()

  Set cn = CreateObject("ADODB.Connection")
  dbPath = Application.ActiveWorkbook.Path & "\FDData.mdb"
  dbWb = Application.ActiveWorkbook.FullName
  dbWs = Application.ActiveSheet.Name
  scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
  dsh = "[" & Application.ActiveSheet.Name & "$]"
  cn.Open scn

  ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) "
  ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh

  cn.Execute ssql

End Sub

Implémentation :

  • Le code ci-dessus établit une connexion à la base de données Access en utilisant ADODB.Connection.
  • Il forme une instruction SQL INSERT pour insérer des données dans la table fdFolio avec les noms de champs spécifiés.
  • La méthode Execute exécute l'instruction SQL, effectuant l'opération d'insertion en masse.

Ce code optimisé élimine le besoin de parcourir chaque ligne en boucle, améliorant considérablement les performances pour les grands ensembles de données.

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!

Déclaration:
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