Importation fichier Txt dans Access

A

Alain

Bonjour
Dans une base Access j'exporte en format texte, délimité, une table de
personnes (54739 personnes) avec toutes leurs caractéristiques (nom, prénom,
adresse etc). Dans une autre base Access j'ai créé une routine chargée
d'importer dans une table de personnes, dont la structure est analogue à
celle de la table d'origine, les données du fichier txt. J'ai créé une boucle
qui reprend chaque champ de la table Txt et les insère dans la table
destinataire (utilisation de AddNew et Update). Tout semble bien se passer,
mes 54739 personnes sont enregistrées, mais je constate que dans ma base
Acces une table de type xxx_ImportErrors a été créée.
Il y est signalé 619 fois : champ F9, l' erreur Échec lors de la conversion
de type et la ligne concernée. Si je met le champ F9 en commentaire rien ne
change. Si je supprime du fichier Txt tous les enregistrements sauf les trois
premiers signalés en erreur cette table d'erreur n'est plus créée.
Question : comment identifier la cause de ces erreurs ?
Est-il possible que ma boucle s'exécute trop vite par rapport au temps de
mise à jour (instruction Update)
Un grand merci à qui pourra me donner une solution ou une piste pour cerner
le problème.
Alain
 
V

vanderghast

Pourquoi boucler? Ne peux-tu pas faire une requête d'ajouts (Append Query)?
Cela ne sera non seulement plus rapide à coder, mais également à exécuter.
En SQL, celà peut ressembler à:

INSERT INTO tableDestination (champ1,champ2, champ3)
SELECT champ1, champ2, champ3 FROM tableOrigine ;


Il n'est pas nécessaire que les noms des champs soient les mêmes, mais leur
type de données doit être voisin (une champ texte ne peut pas correspondre à
un champ numérique, par exemple).

Tu serais probablement mieux desservi dans un groupe de discussion
francophone, tel que:

microsoft.public.fr.access



Vanderghast, Access MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top