Comment puis-je par programmation importer des données Excel dans une table Access?

J'ai lu un peu des threads, mais encore m'a laissé cette question. Je veux écrire une fonction dans une base de données Access application de programmation pour importer des données Excel avant le début de la première deux lignes—qui sont l'en-tête et l'unité de délimiteurs.

Je suis à la recherche d'accomplir les choses suivantes:

  • Être en mesure de sélectionner de façon dynamique le fichier Excel, je suis à la recherche d'importation, peut-être en utilisant une boîte de dialogue et peut-être une fenêtre du navigateur de fichiers.
  • Insérer "commune" de données dans chaque ligne comme il est importé comme le numéro d'inventaire de l'enregistreur et l'enregistreur est à l'emplacement désigné.
  • Commencer l'importation à la ligne n ° 3, au lieu de la ligne #1 - que l'appareil met automatiquement l'en-tête et l'unité de mesure de l'information pour l'enregistrement.
  • Ignorer toutes les autres colonnes dans la feuille de calcul - les données seront TOUJOURS présents dans les colonnes A à G, et les données commencent TOUJOURS sur la ligne n ° 3.

C'est la façon dont les données Excel est souvent formaté (les tirets représentent les données):

 Date Heure Temp Point de Rosée de Bulbe Humide GPP RH 
Cº Cº Cº g/Kg % 
---- ---- ---- ---- ---- ---- ---- 
---- ---- ---- ---- ---- ---- ---- 

J'ai essayé d'Accès intégré les "Données Externes" la fonction, mais il ne va pas sauter au-delà de la ligne n ° 2 et les données supplémentaires dans le fichier Excel renvoie une erreur lorsque vous tentez d'importer, d'arrêter le processus dans son élan.

Je serai le premier à admettre que je n'ai jamais essayé d'écrire une fonction d'importation pour l'Accès avant d'utiliser des fichiers externes, donc je suis un peu newbie. Tout d'aider les gens capables de m'sera toujours grandement apprécié, et je peux mettre à jour cette tentative de code. Merci d'avance pour votre aide, tout le monde!

-- Édité 01/03/2011 @ 10:41 am --

Après la lecture de la connexion ADO de données Excel fil proposé par Remou, voici un peu de code, je pense que pourrait faire le travail, mais je ne suis pas sûr.

Dim rs2 As New ADODB.Recordset
Dim cnn2 As New ADODB.Connection
Dim cmd2 As New ADODB.Command
Dim intField As Integer
Dim strFile As String

strFile = fncOpenFile
If strFile = "" Then Exit Sub

With cnn2
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source='" & strFile & "'; " & "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
    .Open
End With

Set cmd2.ActiveConnection = cnn2
cmd2.CommandType = adCmdText
cmd2.CommandText = "SELECT * FROM [Data$] WHERE G1 IS NOT NULL"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic

rs2.Open cmd2

OriginalL'auteur Comrad_Durandal | 2010-12-31