Exportation .dbf vers fichier texte délimités ! [Résolu]

rubix2
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Dernière intervention
27 août 2007
- 29 nov. 2005 à 09:45 - Dernière réponse : ThierryPerretier
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
6 juillet 2006
- 29 nov. 2005 à 14:36
p'tite question,

j'ai VFP6. Je voudrais exporter ma table .dbf en texte délimité par un point virgule. Mais en utilisant l'assistant d'exportation de VFP ou en tapant directement la ligne de commande:
COPY TO montxt.txt DELIMITED WITH [Separator] WITH CHARACTER ';'

Il me rajoute automatiquement des guillemets comme séparateur de champ. Il est possible de modifier le type de separateur WITH Separator , mais impossible de l'omettre je voudrais juste que mon fichier texte contiennent mes champs séparer par un point virgule seulement (style .csv). Fox pro me rajoute systématiquement des guillemets, comment faire, Je sais que sous access c'est possible mais pas sur fox , alors ça me semble bizarre !!

Nico
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
ThierryPerretier
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
6 juillet 2006
- 29 nov. 2005 à 14:36
3
Merci
Pour tout savoir : http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000116

De plus, c'est un petit peu plus rapide surtout si ta table contient beaucoup de champs.

Merci ThierryPerretier 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de ThierryPerretier
michelatoutfox
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
7 mai 2013
- 29 nov. 2005 à 10:38
0
Merci
bonjour Rubix2,

ceci marche bien pour moi :

copy to monfichier.txt type delimited with character ";"

les guillemets sont rajoutés pour les champs de type C, mais pas pour ceux de type N., le fichier généré est comme un csv, sans la ligne d'en-tête.
Commenter la réponse de michelatoutfox
ThierryPerretier
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
6 juillet 2006
- 29 nov. 2005 à 11:15
0
Merci
Bonjour,
Ce problème a été corrigé en VFP7, cette syntaxe fonctionnant bien :

COPY TO monfichier.txt DELIMITED WITH "" WITH character ";"

Une alternative pour VFP6 :

SET TEXTMERGE ON
SET TEXTMERGE TO monfichier.txt
SCAN
\<<champ1>>;<<champ2>>;<<champ3>>
ENDSCAN
SET TEXTMERGE TO
Commenter la réponse de ThierryPerretier
rubix2
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Dernière intervention
27 août 2007
- 29 nov. 2005 à 11:57
0
Merci
Merci pour les infos, tous mes champs sont de type caractères donc il génére les guillemets d'office.

J'ai testé le bout de code avec SET MERGE ca marche, mais c'est lourding si j'ai une 50 aines de champs dans ma table, je me vois pas tout taper à la queue leuleu .....
Y-a t'il un autre moyen pour ne pas à avoir à taper toute la liste des champs de la table ??
de Plus dans mon fichier texte j'ai une premiere ligne vide(peut-être la ligne de champ ??) , comment y remédier ??

Merci

Nico
Commenter la réponse de rubix2
ThierryPerretier
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
6 juillet 2006
- 29 nov. 2005 à 13:14
0
Merci
SCAN
FOR i=1 to Fcount()
[file://%3C%3CTrim(Transform(Evaluate(fields(m.i/ \\<<Trim(Transform(Evaluate(fields(m.i]))))>>
IF i < Fcount()
\\;
ELSE
\
ENDIF
ENDFOR
ENDSCAN
Commenter la réponse de ThierryPerretier
rubix2
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Dernière intervention
27 août 2007
- 29 nov. 2005 à 14:23
0
Merci
t'es trop fort !!

juste une question pour un newbie à quoi sert Le préfixage m. devant la variable I ??
Commenter la réponse de rubix2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.