|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 15 ![]() |
Bonjour à tous,
Malgré mes recherches j'ai besoin de vos lumières.... je m'explique : Je possède un fichier texte de 300 Mo contenant des données séparées par des délimiteurs "/". Au total j'ai 489 colonnes de la forme suivante : " données1/données2/données3/données4/...../données489" retour à la ligne et hop je recommence une nouvelle ligne. Access ne permet que d'importer 255 Champs, ce qui est possible si je lie la table ( à partir de mon fichier), le hic est que j'ai besoin des colonnes restantes. J'arrive à découper mon fichier texte de façon horizontale mais pas verticale (par colonne). De fait pensez vous qu'il existe un moyen de créer une table avec les 255 premiers champs et une deuxième avec le reste? Si oui qu'utilisez vous comme fonction? (VB, ou autre). Merci d'avance.
|
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
hello
en VBA, il est possible d'ouvrir le fichier texte et de faire de la lecture caractères par caractères pour ranger tout ça dans des tables. On peut bien sur, à ce moment là, répartir dans plusieurs tables de la façon souhaitée. Exemple de code: Code :
soit en lisant caractère par caractère, soit en cherchant de meilleurs algorithmes, tu dois arriver à résoudre ton pb. Bon courage
__________________
-------------------Simplifi----------comme si tout était simple-------- |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 15 ![]() |
Bon rien à faire je n'arrive pas à utiliser votre code pour arriver à mes fins
, mon objectif étant de créer deux tables avec une ligne de + de 400 champs.Ci-joint copie d'une seule donnée peut être cela vous aidera : Donnée1.txt Sachant que j'ai près de 400 000 fichiers à traiter. Merci encore pour votre aide. |
|
|
00
|
|
|
#4 | |
![]() ![]() |
Bonjour
Citation:
Il faut que tu trouves un palliatif : Est-ce que toutes les informations d'une ligne de données sont liées ? Si oui, par quoi ? Tu aurais la solution de répartir dans deux tables (soit 510 champs en tout) en mettant en premier champ une donnée unique (une clé que tu crées au cas où il y'en ait pas dans les tiennes), cette clé se retrouve dans les deux tables et on crée une liaison 1 à 1 entre les deux tables. (ce qui reprend le principe de base que t'expliques Simplifi plus haut). Cependant cette solution pourra te poser des problèmes par la suite dans le cas où tu veux faire des traitements sur tes données, car une requête n'acceptera que 255 champs. Donc voilà une solution possible. Ou sinon passer par Excel (à partir de la version 2007) avec plus de 16000 colonnes. Tu dis que tu as 400 000 fichiers Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 15 ![]() |
En fait j'ai 1 enregistrement par fichier, au départ j'ai tout regroupé dans un seul fichier en les copiant tous dans un seul mais mon problème reste le même.
J'ai pensé à 2 solutions la première consisterait à lire le fichier choisir le "numéro" de champs à récupérer puis laisser les autres inutiles, ou la seconde utiliser Excel non pas en ligne mais en colonne. Le hic ma connaissance VB est insuffisante pour écrire une boucle qui ouvre chaque fichier copie les valeurs dans la feuille puis me range tout ceci bien comme il faut dans 2 feuilles ( ou déjà même une seule...). Un ancien collègue ... à la retraite (pas de bol ^^) utilisait un fichier excel pour le faire mais sur un seul fichier peut être que si je retrouve le code cela pourrait donner une idée à quelqu'un. |
|
|
00
|
|
|
#6 | |||
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
vu les données txt de ton fichier, il faut certainement refaire un étude assez large pour ranger les données dans plusieurs tables. Une centaine de colonnes sur un sujet me semble déjà beaucoup (trop) pas besoin d'autant pour l'adresse du client ensuite un certain nombre de "champs" sont en fait des étiquettes commme Citation:
Citation:
Avec le titre on a 13x14 soit 182 "champs" à mettre dans une sous table avec 14 colonnes ainsi de suite avec pour finir Citation:
Analyse, Analyse toute pub mise à part, c'est exactement mon métier
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com