Access Import Excel avec champ MEMO alternative à TransferSpreadsheet
par
, 10/06/2018 à 08h44 (1222 Affichages)
une solution est
- Créer dans MS-Access un paramétrage d'import texte en y identifiant le champ à déclarer en memo (pour Access 2010: Données externes -> fichier texte -> Sélectionner la source et la destination des données-> ... avant de terminer cliquer sur Avancer et enregistrer les paramètres d'import exemple paramImport
- transformer l'onglet Excel à charger en csv
- Utiliser DoCmd.TransferText
Permet de charger un fichier texte avec en champ 2 pour la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.TransferText acImportDelim, "paramImport", "myTable", "C:\Txtfiles\file.txt
1 : 24 caractères
2 : 671 caractères
Donc une alternative à l’ajout dans l’onglet Excel à importer d’une 1ère ligne fictive de plus de 255 caractères pour forcer la déclaration du champ en MEMO si utilisation de TransferSpreadsheet car cette commande se base sur la taille du premier enregistrement pour définir le type du champ.
Attention DoCmd.TransferText
- Crée la table cible si elle n'existe pas
- ajoute les données sans écrasement si la table existe