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

rubix2 22 Messages postés jeudi 3 novembre 2005Date d'inscription 27 août 2007 Dernière intervention - 29 nov. 2005 à 09:45 - Dernière réponse : ThierryPerretier 103 Messages postés mardi 5 octobre 2004Date d'inscription 6 juillet 2006 Dernière intervention
- 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 

6 réponses

Répondre au sujet
ThierryPerretier 103 Messages postés mardi 5 octobre 2004Date d'inscription 6 juillet 2006 Dernière intervention - 29 nov. 2005 à 14:36
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ThierryPerretier
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 29 nov. 2005 à 10:38
0
Utile
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 103 Messages postés mardi 5 octobre 2004Date d'inscription 6 juillet 2006 Dernière intervention - 29 nov. 2005 à 11:15
0
Utile
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 22 Messages postés jeudi 3 novembre 2005Date d'inscription 27 août 2007 Dernière intervention - 29 nov. 2005 à 11:57
0
Utile
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 103 Messages postés mardi 5 octobre 2004Date d'inscription 6 juillet 2006 Dernière intervention - 29 nov. 2005 à 13:14
0
Utile
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 22 Messages postés jeudi 3 novembre 2005Date d'inscription 27 août 2007 Dernière intervention - 29 nov. 2005 à 14:23
0
Utile
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.