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

Signaler
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
27 août 2007
-
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
6 juillet 2006
-
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

6 réponses

Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
6 juillet 2006

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.
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
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.
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
6 juillet 2006

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
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
27 août 2007

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
Messages postés
103
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
6 juillet 2006

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
Messages postés
22
Date d'inscription
jeudi 3 novembre 2005
Statut
Membre
Dernière intervention
27 août 2007

t'es trop fort !!

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