Maison >base de données >tutoriel mysql >Comment puis-je transférer efficacement des ensembles de données volumineux d'Excel vers Access à l'aide de SQL ?

Comment puis-je transférer efficacement des ensembles de données volumineux d'Excel vers Access à l'aide de SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 07:22:44193parcourir

How Can I Efficiently Transfer Large Datasets from Excel to Access Using SQL?

Utilisation de l'instruction d'insertion SQL pour transférer efficacement des données d'Excel vers Access

Dans votre code Excel VBA, vous parcouriez manuellement chaque ligne de données pour insérer des valeurs dans une table Access. Bien que cette approche fonctionne pour les petits ensembles de données, elle devient inefficace pour les grands ensembles de données comme 25 000 enregistrements.

Au lieu de cela, vous pouvez utiliser les instructions SQL INSERT pour insérer plusieurs lignes à la fois, réduisant ainsi considérablement le temps de traitement. Le code révisé suivant montre comment :

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

En utilisant l'instruction SQL INSERT affichée à la ligne 11, toutes les lignes de la plage Excel sont insérées dans la table Access en même temps. Cela élimine le besoin de boucle et améliore considérablement les performances.

Bien que vous ayez mentionné vouloir spécifier des noms de champs au lieu d'utiliser "SELECT *", le code fourni ne le démontre pas. Si vous avez besoin d'aide pour définir des noms de champs spécifiques, veuillez fournir les noms de champs souhaités et nous pouvons vous aider à modifier le code en conséquence.

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