Txt vers dbf

Signaler
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010
-
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010
-
Bonjour,

je travaille sur foxpro 6.0, et j'ai interet à faire un petit programme qui consiste en importer un fichier txt vers DBF

c'est faisable sur foxpro: file ----> import.... mais moi je cherche à exécuter le programme pour le faire d'une maniere automatique

Merci bcp

20 réponses

Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Bonjour,

Regarde l'aide sur la commande APPEND FROM, tu y trouveras la syntaxe complète pour importer des fichiers txt dans des dbf.

Quand tu dis "de manière automatiuqe", que veux-tu dire? sans aucune intervention humaine (comme une tâche programmée de Windows, par exemple) ?
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Bonjour,

de maniere automatique, ca veut dire il suffit de cliker deux fois au-dessus du programme qui se trouve dans un dossier qui contient le fichier .text pour qu'il se lance et à la fin on trouve le dbf crée dans le meme dossier.
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Je ne comprends pas: tu veux que ton programme importe le contenu du fichier txt dans un dbf existant, ou tu veux créer ce dbf puis importer?

As-tu déjà ce dbf? connais-tu la structure de ces txt? qu'est-ce que tu as déjà écrit pour commencer ce projet?

si tu nous donnais des détails, on pourrais t'aider!
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Bonjour,

En fait j'ai un dossier qui contient des fichier excel (Xls) et des fichiers txt, chaque fichier a une structure differente de l'autre, l'interet c'est d'importer chaque fichier en dbf.
j'ai déja le programe qui fait ca mais seulement pour les extention .xls ! comment je dois faire pour importer les fichiers txt aussi en dbf, ?
PS: j'ai pas de dbf existant, il faut faire à 0, car l'interet c'est construie une structure commune à touts ces fichiers pour povoir tout y rasembler à la fin

tres cordialement
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Comment fonctionne ton programme d'import depuis les xls ? montre nous ici le code, qu'on voit si on peut l'adapter aux txt ou bien s'il faut repartir vraiment de zéro.

si chaque txt a une structure inconnue, ça va être difficile. Peux tu donner ici quelques exemples de txt (les 5 premières lignes de quelques fichiers)?
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

voici le code:
***********************************************************************************
close all
clear
chdir(CURDIR())
NBTABLE=ADIR(TABLEAU,'*.xls')
req_structure="CREATE TABLE STRUCTURE_COMMUNE ("
for k=1 to NBTABLE
curnom=tableau(k,1)
curnom2=left(curnom,len(curnom)-4)
if file(CURDIR()+curnom2+".dbf")&& si le fichie DBF exist
delete file CURDIR()+curnom2+".dbf"
endif
req2="IMPORT FROM '"+CURDIR()+"XL5"+curnom+"' TYPE xl5"
&req2
*********************************************************************************
on crée la structure commune de tout les fichiers excel existants dans le dossier, puis on importe vers les dbf, si on a 4 fichier xls, on aura 4 fichiers dbf+un dbf vide qui contient juste la structure commune

voila
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Je te demandais aussi des exemples de tes fichiers txt

Comment veux-tu qu'on les devine?
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

oui c'est vrai, désolée

chaque fichier txt à sa structure définie exemple:

nom;prenom,adresse;ville
amzil;sofie;2 bd le trophé; nante
katie;yara;45 avenue vallé; nante
.................................
.................................

cordialement
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Il faut vraiment t'arracher les informations une après l'autre!

tu commences par nous dire que chaque fichier txt a une structure différente, et maintenant tu nous donne 1 seule structure!

Alors? tous identiques (la même ligne d'en-tête, les mêmes champs avec le séparateur point-virgule), ou bien tous différents?

On va commencer par traiter le cas que tu nous donnes. Tu vas créer une table avec ces 4 champs de type caractère.

Quelle longueur pour ces champs?
ou bien tu décides arbitrairement
[list]
[*] si tu connais l'origine de ces fichiers, tu peux peut-être savoir la longueur maximum de chaque champ
[*] si tu ne la connais pas, tu choisis en fonction de ce que tu as observé
/list),
ou bien tu analyses toutes les lignes de données pour déterminer la position maximale du premier point-virgule. pour ça, tu regardes l'aide sur ATLINE, MLINE, MEMLINES, ALINES.

une fois que ta table est créée, tu peux utiliser APPEND FROM
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Bonjour,

l'exemple de fichier txt que je vous ai montré est seulement un exemple, si je possède 20 fichier txt :

1er fichier txt:

nom;prenom,adresse;ville
amzil;sofie;2 bd le trophé; nante
katie;yara;45 avenue vallé; nante
.................................
.................................

2éme fichier txt:

prenom;date;anniversaire;email;nom;
zara;02/02/2010;02/04/1999;@hotmail.fr;salim;

alors je veux faire un petit programme comme celui que je vous ai envoyé qui permet d'importer automatique ces fichier vers dbf en premier temps, et si c possible en une structure commune!

en fait je sais comment faire manuellement c à d fichier par fichier, mais si j'ai 100 fichier, je pense que ca devient dure de le faire manuellement, en créant la table de chaqu'un

est ce que vous m'aviz compris monsieur?
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
ça ne sera pas un petit programme... mais un gros travail.

tu es certaine de la structure du 2ème fichier? je suis très étonné de voir un point-virgule en fin de ligne.
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

bien sur, la fin de la ligne y'aura pas de ; je l'ai laissé car la structure peut prendre autres champs, c'est pour cela j'ai pas pu vous donner la structure complete et precise, a chaque fois on recois des fichiers de champs differents...

pourriez vous me donner un cours sur foxpro? j'en suis débutante et je dois programmer avec

Merci
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
un cours sur FoxPro? il te faut rechercher une formation près de chez toi.

Allez, essaies de traiter le premier fichier. Commence ton programme qui annalyse sa structure, et on verra la suite.
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

je sais pas comment ca doit marcher, avec excel ca marche, mais txt !

dans un premier temps, importer un seul fichier txt avec sa strucutre précise vers un dbf, et on verra comment faire de telle manier qu'il nous genere meme la structure commune quand il s'agit de plusisuer fichiers txt
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Euh, tu ne crois quand même pas que je vais faire ton travail à ta place, non?

je t'ai donné suffisemment d'informations pour que tu puisses commencer.

tu te mets au boulot, tu te documentes en lisant l'aide, tu lis des exemples sur les différents forums, et quand tu auras un début de code à nous montrer, on t'aidera.
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Absolument pas !

je voulais juste avoir votre avis, si vous avez une proposition, concernants la méthode dont tu m'as proposé n'est pas utile pour un nombre de fichier énorme! on pourra pas créer la strucuture "manuellement" pour chaque fichier txt, d'habitude je faisais ca avant et pour un ou deux fichiers.

sinon je dois penser à automatiser le procesus, et jusqu'à mnt je l'ai fait pour les fichiers excel, txt je suis entrain de voir comment le faire. voila

Merci
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
quand je te proposais ça:
ou bien tu analyses toutes les lignes de données pour déterminer la position maximale du premier point-virgule. pour ça, tu regardes l'aide sur ATLINE, MLINE, MEMLINES, ALINES.
ça ne t'es vraiment pas utile?
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Bonjour

Normalement quand on fait une requette "import", alors foxpro garde la longueur exacte entre deux point virgule telle quelle est dans le fichier txt origine et ca marche!
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Eh bien si tu connais si bien FoxPro, et que "normalement, bla bla bla...", débrouille toi toute seule, et n'attend plus aucune aide de ma part!
Messages postés
12
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
4 mars 2010

Merci