Comment spécifier un autre chemin d'accès au fichier pour un sauvés d'importation Excel
J'ai donc utilisé doCmd.TransferText
beaucoup de temps à utiliser un texte enregistré spécification d'importation, comme vous pouvez facilement sauvé le chemin d'accès du fichier retourné à partir d'une Application.FileDialog(msoFileDialogFilePicker)
de trouver un sélectionnez le fichier que vous souhaitez importer avec le même cahier des charges.
Cependant, je vais avoir du mal à trouver un moyen de faire la même chose avec un fichier excel, il est simple pour enregistrer un fichier excel spécification d'importation, mais à l'aide de la DoCmd.TransferSpreadSheet
méthode il n'y a aucun moyen d'utilisé un enregistré à l'importation, à l'aide de doCmd.RunSavedImportExport
a aucune option pour spécifier un chemin d'accès au fichier.
Est-il une solution autre que d'utiliser un autre type de fichier (par exemple .csv)
OriginalL'auteur pegicity | 2014-04-28
Vous devez vous connecter pour publier un commentaire.
"Sauvé des Importations" et "Sauvé des Exportations" dans l'Accès sont stockés dans
ImportExportSpecification
des objets qui forment laCurrentProject.ImportExportSpecifications
collection. Les détails d'une sauvegarde d'importation Excel va ressembler à quelque chose comme le code XML suivant, que j'ai créé en faire un manuel de l'importation d'une feuille de calcul Excel et en cochant la case "Enregistrer les étapes d'importation" case de la dernière page de l'assistant d'importation.La ImportExportSpecification a été enregistré avec le nom
Import-xlsxTest
. Maintenant, si je renomme le fichier Excel à partir d' "xlsxTest.xlsx" "anotherTest.xlsx" je peux utiliser le code VBA suivant pour modifier le nom de fichier dans la ImportExportSpecification XML, puis d'exécuter l'importation:Pour plus d'informations sur
ImportExportSpecification
objets, voirImportExportSpecification Objet (Accès)
Merci Beaucoup Gord!
Évidemment, cela doit fonctionner à merveille et donne de bonnes informations sur le contexte, mais j'ai trouvé le deuxième sub () stackoverflow.com/a/14443025/6099655 pour être plus simple
OriginalL'auteur Gord Thompson
Vu cela et j'ai pensé partager quelque chose que j'ai travaillé un temps à résoudre le problème. Donne plus de contrôle sur ce que vous pouvez changer dans le cahier des charges:
OriginalL'auteur Jason Hardman
J'ai fait des recherches sur le même sujet. La solution posté par Gord m'a donné un XML erreur d'interprétation. Cosmichighway posté cette solution: http://www.utteraccess.com/forum/index.php?showtopic=1981212.
Cette solution fonctionne dans Access 2010 et Access 2013 et devrait également travailler dans Access 2007.
J'étais la génération d'un nom de fichier unique pour l'exportation, j'ai donc restauré le nom original du fichier chemin d'accès une fois que le processus a été complété. WorkHoursTransactions est un const. Exemple:
J'ai aussi trouvé cette astuce sympa à utiliser pour afficher le fichier XML. Si vous avez une spécification d'exportation nommé 'Exportation-Table1", puis vous pouvez les coller dans la fenêtre pour afficher le XML:
OriginalL'auteur Albert
Dans mon cas
vbCrLf n'ai pas de travail mais vbLF ne!
Je suis à l'aide d'Access 2010 (32 bits).
Salutations de Stefan
OriginalL'auteur Stefan Heicking
À ajouter à @Alberts réponse, si nous avons de l'actuel chemin d'accès au fichier comme une constante, alors, quand nous exécutons le code la prochaine fois (par exemple, l'utilisateur décide de stocker le fichier excel dans un autre dossier après un certain temps), de "Remplacer" la fonction ne trouve pas le texte de recherche comme le chemin d'accès a été changé lors de la première manche. Donc, pour la rendre dynamique, nous avons juste besoin d'écrire le fichier en cours de chemin d'accès à une table quand il est remplacé par un nouveau chemin. Dans le "Remplacement" de la fonction, nous avons tout simplement se référer à cette valeur. Il n'y a pas de codage en dur des chemins d'accès de fichier.
de sorte que la prochaine fois qu'il est exécuté , il va choisir le bon fichier en cours pour le remplacer.
OriginalL'auteur Gopa Kumar