0
votes

Comment sauter les premières lignes dans Excel lors de l'importation de données dans l'accès?

Je suis très nouveau pour accéder à 2016 VBA et j'ai importé des données Excel dans une table d'accès.

Mais le problème est que j'ai besoin de sauter les trois premières lignes de la feuille Excel, de sorte que je puisse enregistrer directement les données Excel dans la table d'accès. Comment puis-je atteindre cela?

Voici le code que vous utilisez pour importer les données Excel dans une table: xxx

et une autre chose est qu'il n'est pas possible de spécifier la gamme des cellules Excel car il varie.


1 commentaires

Postez plus de votre code /


3 Réponses :


0
votes

MS Access fonctionne sur des ensembles de données non ordonnés et, en tant que telle, vous ne pouvez pas compter sur l'ordre des enregistrements renvoyés par une requête ou l'ordre dans lequel les données sont importées dans une table d'une source externe, telle qu'une feuille de calcul ou un fichier texte. .

Vous ne pouvez compter que sur l'ordre des enregistrements renvoyés par une requête lorsque la commande est strictement définie avec l'inclusion d'une commande par clause.

Par conséquent, si vous souhaitez continuer à utiliser la méthode TransferSpersPreadsheheet Pour votre tâche, vous devez déterminer une méthode d'identification des enregistrements à omettre, ce qui est indépendant de l'ordre des enregistrements importés. . De cette façon, vous pouvez importer tous les enregistrements dans votre table, puis exécuter une requête Supprimer implémentant la logique d'identification de l'enregistrement comme critère de sélection.

La seule autre façon que je puisse voir pour atteindre cela serait d'interfacer avec la feuille de calcul Excel à partir d'accès MS à l'aide de ActiveX, itérale sur les lignes de la feuille de calcul et peupler un jeu d'enregistrements en omettant les trois premières lignes rencontrées.


0 commentaires

0
votes
  • Pour ces solutions de contournement, j'ai utilisé la suppression des trois premières lignes dans le fichier Excel. Vous pouvez enregistrer une macro dans Excel, puis appelé préprocèsing avant l'importation de fichiers dans l'accès. P> LI>

  • Autre option consiste à utiliser des gammes nommées, vous pouvez les importer directement pour accéder. p> li>

  • et la plupart des solutions appropriées pour vous est d'utiliser DOCMD.TRANSFERSPREADSHEET CODE> Spécification de la plage, comme décrit ici - https://docs.microsoft.com/ru-ru/office/vba/api/access.docmd.transferspreadsheet li>

    DoCmd.TransferSpreadsheet acImport, , Tbl, SelectedFls, True, "A4:G12"
    


0 commentaires

0
votes

Si vous voulez toujours que les trois premières lignes soient ignorées, vous pouvez simplement modifier les positions de départ à DOCMD.TRANSFERSPEADSHEET ACIMPORT, TBL, SELECTFLS, TRUE, "A4" , puis utilisez le code ci-dessous Prendre toutes les entrées jusqu'à ce que vous appuyez sur une cellule vide. xxx


0 commentaires