Copier le contenu d'un dfb dans txt ou csv

Signaler
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009
-
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
-
bonjour tout le monde
je voudrais savoir comment pourrais je copier le contenu d'un fichier .dbf dans un fichier text avec un séparateur ";"
merci d'avance

15 réponses

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

en lisant l'aide de VFP, tu aurais trouvé

COPY TO <nom_fichier_destination> CSV
ou bien
COPY TO <nom_fichier_destination> DELIMITED WITH CHARACTER ';'
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

une autre question est ce que c'est possible de crée un batch qui copie de dbf vers csv ou txt avec un séparateur ";"
et merci d'avance
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Quelle version de FoxPro utilises-tu?

Je ne comprends pas ce que tu veux faire, quand tu parles de batch ; COPY TO ... est une commande fox, et le concept de batch en fox ne concerne que le traitement de données non natives.
Tu peux préciser?
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

j'utilise vfp6 :
j'ai les table avec une extension dbf  et vu que l'opération de copiage des donnée de ma table .dbf vers un document txt ou csv avec un séparateur ";" et une opération journalière alors est il possible de créer un fichier de commande(batch) dont le  quel j'ordonne le copiagedes données  de dbf vers txt ou csv avec un séparateur ";"
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Tu voulais donc parler d'un batch au sens de tâche à effectuer...

je pense que le plus simple est de créer un exécutable (donc un projet en VFP compilé en exe) qui effectue les copies que tu souhaites, et tu mets cet exe dans les tâches programmées de Windows.
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

merci pour ces info MICHEL STP  vu que je suis débutant en vp connais  tu un tutorial qui me me montre comment effectuer un projet  executable vfp  avec le quel  je peux effectuer  les copies que je shouaites faire et moi je chérché de ma part
merci d'avance
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Regarde dans l'aide pour commencer.
(Aide->Utilisation de Visual FoxPro->Guide du programmeur->Assemblage->Compilation d'une application)

Ensuite, tu poses tes questions au fur et à mesure que tu as un problème...
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

ok merci [../auteur/MICHELATOUTFOX/353689.aspx MichelAtoutFox]pour tout le temps que tu m'as accordée je dois maintenant installer l'aide de vfp sur ma machine car la version que je possède et sans aide a+
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

si bon j'ai réussi à réaliser sous fox pro6 une commande  qui recopier d'un dbf vers  csv ou txt avec separateur ";"

ma question maintenant est: comment  puis je lancer la commande qui copie en cascade le premier fichier dbf puis le deuxième puis le troisième et ainsi de suite
if(matable="table1.dbf")
{
COPY TO "emplacement du fichier .csv corréspondant a table1.dbf " DELIMITED  WITH CHARACTER ';'
}
if(matable="table2.dbf")

{

COPY TO "emplacement du fichier .csv corréspondant a table2.dbf " DELIMITED  WITH CHARACTER ';'

}
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Tu peux nous dire dans quel langage de développement tu travailles? parceque ça, ça n'est pas du Fox...

Qu'est-ce que tu veux tester, dans ces lignes-là? je te rappelle que la commande COPY TO s'exécute sur l'alias courant, et que c'est différent du nom de la table. Si tu veux vérifier que tu pointes bien sur la bonne table, alors il faut tester DBF( ALIAS( ) )

Tu ne vas pas utiliser 1 commande, mais une suite d'instructions dans un programme. Et le contenu de ce programme dépend de ce que tu veux faire (traitement visuel ou non visuel, choix des fichiers par l'opérateur ou bien en fonction de critères préexistants, etc...)

Que veux-tu faire?
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

bonjour j'utilise microsoft visual foxppro6 je veux  :
-copier le contenu de 4 table .dbf dans 4 fichier .csv
-traitement non visuel
-choix des fichiers en fonction de critères pré-existants
-enfin générer un exe de cette petite application

mais j'ai trouver aucune documentation pour  apprendre a programmer avec vfp6 et j'ai seulemnt le  logiciel vfp6 installé sur ma machine(c'est la première fois que j'utilise vfp alors j'ai aucune notion)
et  je te remercie encore pour votre aide Michelatoutfox
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Si tu as VFP6 installé, tu devrais avoir l'aide également (il me semble qu'elle était sur un 2ème CD, mais je ne suis pas certain).
Est-ce que tu as cette aide? quand tu es dans VFP, que donne la touche F1?
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

Re  bonjour
la touche f1 et désactivée et j'ai seulement le cd d'installation de logiciel
Messages postés
79
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
19 janvier 2009

re-bonjour
comment je pourrais lancer la  ommande  copy to "emlacement du fichier" delimited with character ";" en indiquant  l'ellimination du caractere " " car quelques enregistrement seront entouré par des " "  après le copiage des données
voici un extrait de mon fichier:

166619";"  166609";"GARSON";11/22/2008;11/29/2008;"0101";"DB";0;"22:36";"";"";"";"ALLPCJES"
"  169010";"  169004";"sou3ad";11/24/2008;12/01/2008;"0102";
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Impossible à faire dans la commande COPY TO. Il te faut passer par des étapes intermédiaires avant le copy to, ou après le copy to.
En VFP6, les champs ont une longueur fixe (les Varchar ont été introduits plus tard) et je pense donc que le champ qui contient ces données est de type Caractère de longueur 8.

soit tu copies tes données dans un curseur dont les champs sont dimensionnés à tes souhaits, puis tu fait ensuite ton copy to, soit tu fais ton copy to, puis tu traites ensuite ce fichier texte pour éliminer les espaces.

mais celà dit, je ne vois absolument pas en quoi ces espaces sont génants, c'est strictement la norme des fichiers csv et txt...