Txt vers dbf

remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010 - 2 mars 2010 à 16:02
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010 - 4 mars 2010 à 17:18
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

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
2 mars 2010 à 17:51
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) ?
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
2 mars 2010 à 17:58
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.
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
2 mars 2010 à 19:58
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!
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 14:36
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
0

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

Posez votre question
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 14:52
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)?
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 15:10
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 15:59
Je te demandais aussi des exemples de tes fichiers txt

Comment veux-tu qu'on les devine?
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 16:09
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 17:09
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
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 17:28
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?
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 17:40
ç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.
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 17:46
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 18:00
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.
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 18:09
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 mars 2010 à 22:05
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.
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 23:43
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
4 mars 2010 à 08:10
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?
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 16:22
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!
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
4 mars 2010 à 16:39
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!
0
remessa Messages postés 12 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 17:18
Merci
0
Rejoignez-nous