Access et fichier TXT via la fonction TransferText 2 - Le retour :-( - AIDEZ-MOI

Seb - 14 oct. 2001 à 22:59
smernouf Messages postés 8 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 2 avril 2008 - 2 avril 2008 à 13:04
Bonsoir,

Il semblerait que j'ai un peu avancé dans mon projet mais hélas ca foire un maximum.

Je mexplique.

J'ai un fichier texte par exemple ainsi :

a p o
j i g
d j r

bref un TXT de trois colonnes delimite par des TABs

De l'autre cote dans une base access97 jai une table avec les trois colonnes pretes a recevoir les donnees.

Je veux donc importer le TXT dans ma table.

Via Fichier/Importer ça marche mais je veux automatiser la chose.

dans l'aide, j'ai trouvé la fonction DoCmd.TransfertText avec des parametres à remplir.

Hors je n'arrivais à rien :-(

Je me suis apercu que cette fonction attends une colonne nommée F1 et quand cette colonne existe, la fonction colle tout le TXT dans cette colonne et uniquement dans cette colonne :-(

Je n'arrive pas donc à importer mes données :-(

on m'a parlé de passer par un traitement ligne par ligne.

Mais es ce vraiment recomandé sachant que mon fichier peut atteindre + de 500.000 enregistrements !

Et puis d'abord comment faire ?

Je stocke la ligne, je repere la chaine avant le premier tab, je la colle dans la colonne1, je prend apres la chaine 2 avant le tab 2, je la colle dans la colonne 2 .....

Si c'est la seule solution je veux bien passer par làç mais y a encore un hic.

Le traitement de chaine,j pas de probleme, mais comment faire la phase "chaine -> champs dans la colonne". Comment je fais rentrer la chaine dans la table ?

Via un recordset, via SQl ????

Bref comme le decrit le titre et le descriptif de cette rubrique de ce forum je lance un grand appel à l'aide acr je ne suis pas au bord du suicide mais je suis bloqué totalement dans mon travail et mon patron risque de le decouvrir.

Je n'ai plus qu'une semaine pour cette mission et je voudrais bien partir serein et avec le boulot achevé.

J'en appelle à tout les devellopeurs qui ont tout comme moi commencé et se sont retrouves souvent bloques.

Aidez moi SVP pour que cette misison ne soit pas la derniere de ma carriere :-(

Par avance merci a tous,

Seb

5 réponses

Comme d'habitude j'etais bien partit dans le bon chemin mais j'avais oublié une pierre à mon édifice.

Pour info et pour les autres qui rencontrerait le même problème avec cette fonction, il ne faut surtout pas oublier de creer un fichier de spécification d'importation par fichier importé car sans celui ci il importe tout le fichier dans une meme et seule colonne.

Ouf me voila sauvé, je vais pouvoir aller bosser :-)

A + et Longue vie à VB France

Seb
0
cs_Tofinou Messages postés 3 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 27 juillet 2004
27 juil. 2004 à 10:52
Salut! je me retrouve face au même problème que toi, mais je ne comprends pas ce que tu veux dire par "fichier de spécification". Ca se trouve où? ca ce met dans quel paramètre?
Merci d'avance
0
Maki93 Messages postés 11 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 12 janvier 2005
11 janv. 2005 à 12:45
"Salut! je me retrouve face au même problème que toi, mais je ne comprends pas ce que tu veux dire par "fichier de spécification". Ca se trouve où? ca ce met dans quel paramètre?
Merci d'avance "

C'est pareil pour moi je ne sais pas ce qu'est un fichier de spécification et comment le créer. Si quelqu'un peut m'aider...

Merci

Maki
0
cs_anne37 Messages postés 5 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 26 octobre 2006
31 mars 2005 à 18:43
Bonjour,

Dans Acces :

Fichier / Données externes / Importer.

Tu arrives dans l'assistant Importation,

tu cliques sur "Avancé", tu indiques tes spécifications d'importation, puis tu fais
"enregistrer sousé et tu indiques le nom de ton fichier de specification par exemple "ImportTxtDelim".

Dans ton code tu indiques :
FormatImportation = "ImportTxtDelim"

et tu lances :


DoCmd.TransferText(Access.AcTextTransferType.acImportDelim, FormatImportation, (Nom du fichier dans lequel tu importes), (nomFichierAimporter),
True)

Cela fonctionne très bien

Tu peux créer plusieurs fichiers de spécifications différents.

Questions si quelqu'un peut répondre :

- A quel endroit de la base se trouvent ces fichiers ?
- Comment les repere-t-on (si ce n'est en refaisant la même manip et en allant sur parametre pour eventuellement les mettre à jour) ?
- Peut-on taper du code à la place ?

anne37
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smernouf Messages postés 8 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 2 avril 2008
2 avril 2008 à 13:04
j'ai le meme probleme mais moi dans le vb 2005 et je veu le code pour mettre le lignes d'un fichier.txt dans ma table sql et pour cela le colonnes dans ma fichier seront séparer par des points virgule o tabulation
aidez moi plz
j'ai bloqué
0
Rejoignez-nous