Copier le contenu d'un dfb dans txt ou csv

sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009 - 27 nov. 2008 à 18:33
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 - 5 déc. 2008 à 11:23
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

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
27 nov. 2008 à 19:20
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 ';'
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
28 nov. 2008 à 09:50
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
28 nov. 2008 à 11:05
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?
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
28 nov. 2008 à 12:01
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 ";"
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
28 nov. 2008 à 15:05
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.
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
28 nov. 2008 à 17:02
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
28 nov. 2008 à 18:03
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...
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
28 nov. 2008 à 18:17
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+
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
29 nov. 2008 à 16:58
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 ';'

}
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
29 nov. 2008 à 18:58
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?
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
1 déc. 2008 à 17:07
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
3 déc. 2008 à 14:25
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?
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
3 déc. 2008 à 15:19
Re  bonjour
la touche f1 et désactivée et j'ai seulement le cd d'installation de logiciel
0
sws2007 Messages postés 79 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 19 janvier 2009
5 déc. 2008 à 10:33
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";
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
5 déc. 2008 à 11:23
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...
0
Rejoignez-nous