Access : Importation d'un fichier TXT (pb de conversion)
cs_seb56
Messages postés5Date d'inscriptionmardi 10 octobre 2000StatutMembreDernière intervention26 mars 2002
-
14 févr. 2002 à 11:59
Makabey
Messages postés152Date d'inscriptionmercredi 27 juin 2001StatutMembreDernière intervention11 juillet 2002
-
14 févr. 2002 à 16:11
Bonjour à tous et à toutes,
J'ai un petit problème à soumettre à votre perspicacité, relatif à l'importation d'un fichier TXT dans une base Access.
Alors voila :Alors voila :
Admettons que j'ai un fichier TXT relativement énorme (400 000 lignes environ) qui possède divers types d'informations ( de type Texte et Numérique).
Ce fichier, je veux le faire rentrer dans une base de données Access. Jusque là pas de problèmes : en utilisant l'assistant d'importation, tout se passe bien.
Problème qui se pose à moi et que j'ai cru bon de vous soumettre (attention les yeux) :
Lors de la création de la nouvelle table associée à ce fichier, Access m'informe d'une erreur d'importation : un des champs que j'ai défini (de type numérique et intitulé "Montant") ne contient pas toutes les informations contenues dans le fichier TXT.
La raison, je la connais :
Les données contenues dans le fichier TXT et relatives au champs "Montant" sont dotées d'un artifice un peu gênant : un séparateur de milliers... je m'explique :
- un montant tel que celui-ci 999,00 passe très bien dans la base Access
- un montant supérieur à 1 000,00 disparait dans la base. Le problème réside dans l'espace entre le premier et le second chiffre : Access refuse de le comprendre et ne l'intègre pas.
Début de solution
Un début de solution consiste à passer par Excel afin de supprimer, pour ce champs, le séparateur de milliers
MAIS (nouveau problème) mon fichier est trop énorme pour être absorbé en entier par Excel (qui ne prend au max que 65 000 et quelques lignes)
Voyez vous une solution à ce problème ?
Merci d'avance et à bientôt.
Seb
A voir également:
Access : Importation d'un fichier TXT (pb de conversion)
Makabey
Messages postés152Date d'inscriptionmercredi 27 juin 2001StatutMembreDernière intervention11 juillet 20021 14 févr. 2002 à 16:11
Si tu connais le moindrement VB, il te suffirait d'ouvrir directement ton fichier source et à l'aide des fonctions Split (pour séparer chaque lignes en un tableau dont chaque élément représenterait logiquement un champs) et Format, de corriger cette lacune; voici comment en pseudo-code je vois la chose:
Ouvrir fichier source en lecture seule
Ouvrir un fichier destination en écriture (question de ne rien perdre ;) )
(Début de boucle jusqu'à fin du fichier source)
Lire une ligne
Séparer par Split (VB6, sinon vois mes source j'ai une fct qui le fait) en un tableau de chaines
Corriger avec Format la bonne donnée
Composer une ligne avec les nouvelles données
Écrire la ligne dans le fichier Destination
(Fin boucle)
Fermer les 2 fichiers
(fin pseudo-code)
Utiliser Access
Aussi simple que cela. Bien sûr idéalement on le ferait de VB directement (la création de la table en Access et le remplissage).