|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Bonjour à tous,
Bien qu'ayant cherché dans de nombreux forums mon problème, je n'ai pas trouvé exactement ce que je voulais. Je cherche à importer en VBA un fichier txt (fichier qui est sans nom de champ) dans une table access. Jusque là, je n'avais pas de problèmes, j'utilisais un shema d'import dans Access que j'appelais avec "TransferText acImportDelim, "schemaImport", "NomTable"... Mon problème est que ce fichier apparaît de cette manière: az 1 aa be 2 aa vr ce 3 aa vr ef de 1 aa ea 2 aa vr Le gros problème est qu'Access regarde pour chaque champ, la valeur du premier enregistrement, si l'enregistrement est vide, il considère que ce champ est vide, et donc il n'importe pas toutes les colonnes. Autrement dit, dans mon exemple ci-dessus, Access importe 3 colonnes au lieu de 5 où dans certains cas ces valeurs ne sont pas vides. J'ai essayé de lier mon fichier txt à une table access mais même problème!!! Je suis trés moyen en VBA donc je ne me suis pas lancé dans du code de fou car j'imagine (j'éspère) qu'il existe une fonction qui pourrait m'aider!!! Si quelqu'un à rencontré mon problème, je lui serais trés reconnaissant car je galère vraiment dessus!!! Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
Bonjour,
Je n'avais jamais utilisé cette fonctionnalité, alors en lisant ton post je l'ai essayée. A mon avis il te suffit de recréer un schéma d'import en suivant ces instructions Je viens d'essayer et ça a marché |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() |
Bonjour,
Comme dis paidge, le script d'import est une solution qui doit marcher sauf si le nombre d'enregistrements qui contient un minimum de champs est trop nombreux en en-tête de fichier car l'outil d'import analyse de mémoire les 24 premières* lignes pour déterminer le type de la colonne ; en d'autres termes, si tu as les 35 premières lignes à 3 champs et les autres à 6 champs, tu n'auras que 3 champs dans ta table. Paliatif Simple : A vue comme ça je passerai par Excel avec le même procédé d'import via l'outil "Convertir" puis une table liée. Ca reste accessible. Code :
Mais bon l'option simple reste de loin la plus facile pour toi. Il te faudra tout de même triturer du OLE pour instancier correctement et en silence ton instance Excel. Argy * je n'ai plus le nombre exact en-tête mais je sais qu'il est petit.
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Merci beaucoup pour votre aide Paidge et Argy!!
La methode de Paidge pour enregistrer la methode de spécification d'import est ce que j'utilisais pour faire mon import (trés utile d'ailleur) mais je me trouve exactement dans le problème que tu parles Argy: "l'outil d'import analyse de mémoire les 20 premières* lignes pour déterminer le type de la colonne ; en d'autres termes, si tu as les 35 premières lignes à 3 champs et les autres à 6 champs, tu n'auras que 3 champ dans ta table." Le fichier que j'essais d'importer contient trés peu de données dans les dernières colonnes, du coup je rencontre ce problème. Je vais essayer de le convertir en excel d'abord!! Merci encore pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com