OVH Cloud OVH Cloud

Export vers base de données

31 réponses
Avatar
Jean-Luc ERNST
Bonjour,
Sous Word 2000, comment fait-on pour exporter une liste de mots qui
doivent être récupérés dans une base de données sous DOS?

La base de données en question accepte les données ascii (texte seul)
délimitées par des guillemets, ligne par ligne, sans séparateur.

Je ne vois pas d'option de ce genre dans "Enregistrer sous".

--

Cordialement,
Jean-Luc ERNST
www.hopitaldelaphoto.com

10 réponses

1 2 3 4
Avatar
Jean-Luc ERNST
Bonjour,
oui mais...
il reste à placer des guillemets devant chaque mot...
(voir ma réponse à Papy Bernard)

Cordialement,
Jean-Luc Ernst


"Circé" a écrit dans le message de news:

Bonsoir,

Suffit que tu fasses un recherche remplace :

Si tes mots sont séparés par des espaces :
recherche espace
remplacer par "

si tes mots sont séparés par des retours paragraphe :
recherche marques de paragraphe
remplacer par "

... snip ...


Circé


Avatar
Papy Bernard
Slt,

De Jean-Luc ERNST


Bonjour Papy Bernard,

C'est la suite "PSION EXCHANGE" qui comprenait tableur (Easel),
traitement de texte (Quill) et base de données (Archive).

J'ai développé plusieurs applications avec cette base de données
(genre de SuperBasic avec procédures) : caisse enregistreuse, gestion
de stock, facturation, gestion cartes de fidélité,etc... J'ai géré
cing magasins avec ça! Et ça fonctionnait en réseau sur un 386!...

C'était plus facile que dBase à l'époque. Les champs étaient de
longueur variable ce qui faisait des fichiers moins gros que les
équivalents dBase (à cause de la longueur fixe pénalisante des champs
dBase).


dBase III Plus accepte les délimiteurs. Il suffit d'indiquer quel type de
délimiteur.

Je viens de vérifier, il n'accepte pas autre chose que ceci:

"mots$"
"premier"
"deuxième"
"autre"
"encore"
etc.

Donc pas de virgule pour séparer les champs.
Ceux-ci sont délimités par des guillemets.
Chaque champ est sur une ligne.
Le premier enregistrement est le nom du champ.


Je ne doute pas que les musclés du forum te proposeront des solutions !!!!

Ceci étant, quelques questions pour une éventuelle conversion/transposition
dans un fichier *.dbf :

1/ Combien de champs/enregistrement
2/ Combien d'enregistrements

Tu balances ton fichier sur :

http://cjoint.com/

--
A+
Papy Bernard (RTCien malgré lui)

Avatar
Clément Marcotte
Bonjour,

Non, non, je ne parlais pas de toi, mais du Papy Framework qui se spécialise
dans les réponses "gaga".

J'attends toujours sa méthode facile pour imprimer des cartes de visite dans
Word.


"Circé" a écrit dans le message de news:

Clément Marcotte a formulé ce vendredi :
Tiens, la vieille nouille qui déconne.


Ah OK... L'est plonké chez moi... :D







Avatar
Circé
Clément Marcotte a présenté l'énoncé suivant :
Bonjour,

Non, non, je ne parlais pas de toi, mais du Papy Framework qui se spécialise
dans les réponses "gaga".


Nous parlions de la même personne... Je n'avais pas vu au départ sa
réponse parce que je l'ai plonké ! ;)

Circé

Avatar
Jean-Luc ERNST
Bonsoir Papy Bernard,
Merci pour ton aimable proposition...
Mais ce n'est pas un seul fichier que je dois traiter.
Je "prépare" le terrain car je vais recevoir plusieurs centaines de
fichiers comme ça, dans les semaines qui viennent, qui au total feront
dans les 10.000 enregistrements d'après une première estimation. Je
cherche donc à faire le travail moi-même et ne pas le refiler à
l'extérieur, aussi serviable que soit mon correspondant...
%:>)

Pour l'instant, je teste la faisabilité sur un fichier bidon. Et mon
programme final est déjà écrit sous DOS (je dois manipuler ces
enregistrements dans la base de données).
Je constate que c'est Word qui me semble faiblard au niveau
"exportation" puisqu'on est obligé de passer par des méthodes indirectes
pour y arriver... Il est vrai que ce n'est qu'un traitement de texte...

Mais comme tu l'as suggéré, je vais essayer Excel aussi...

Cordialement,
Jean-Luc Ernst


"Papy Bernard" a écrit dans le message de news:
udz7i0$
... snip ...

Ceci étant, quelques questions pour une éventuelle
conversion/transposition dans un fichier *.dbf :

1/ Combien de champs/enregistrement
2/ Combien d'enregistrements

Tu balances ton fichier sur :

http://cjoint.com/

--
A+
Papy Bernard (RTCien malgré lui)





Avatar
Clément Marcotte
Bonjour,

Pour peu que tu aies une liste dans Word avec chaque valeur seule sur une
seule ligne et chaque ligne terminée par une marque de paragraphe:

Sub ListeEnFichierTexte()
Dim para As Object, laligne As String
Open "c:copielabelleliste.txt" For Output As 1
For Each para In ActiveDocument.Paragraphs
laligne = Chr(34) & Left(para, Len(para) - 1) & Chr(34)
Print #1, laligne
Next
Close
End Sub


"Jean-Luc ERNST" a écrit dans le message de
news: 5682$4489b1d2$52aed0dc$
Bonjour Papy Bernard,

C'est la suite "PSION EXCHANGE" qui comprenait tableur (Easel), traitement
de texte (Quill) et base de données (Archive).

J'ai développé plusieurs applications avec cette base de données (genre de
SuperBasic avec procédures) : caisse enregistreuse, gestion de stock,
facturation, gestion cartes de fidélité,etc... J'ai géré cing magasins
avec ça! Et ça fonctionnait en réseau sur un 386!...

C'était plus facile que dBase à l'époque. Les champs étaient de longueur
variable ce qui faisait des fichiers moins gros que les équivalents dBase
(à cause de la longueur fixe pénalisante des champs dBase).

Je viens de vérifier, il n'accepte pas autre chose que ceci:

"mots$"
"premier"
"deuxième"
"autre"
"encore"
etc.

Donc pas de virgule pour séparer les champs.
Ceux-ci sont délimités par des guillemets.
Chaque champ est sur une ligne.
Le premier enregistrement est le nom du champ.

L'idée d'utiliser Exel mérite d'être approfondie. Je vais tester la
chose...

Cordialement,
Jean-Luc Ernst


"Papy Bernard" a écrit dans le message de news:

Slt,

De Jean-Luc ERNST

... snip ...



Simple curiosité : quelle base de données DOS ???

--
A+
Papy Bernard (RTCien malgré lui)









Avatar
Papy Bernard
Slt,

De Jean-Luc ERNST

Pour l'instant, je teste la faisabilité sur un fichier bidon. Et mon
programme final est déjà écrit sous DOS (je dois manipuler ces
enregistrements dans la base de données).
Je constate que c'est Word qui me semble faiblard au niveau
"exportation" puisqu'on est obligé de passer par des méthodes
indirectes pour y arriver... Il est vrai que ce n'est qu'un
traitement de texte...


Le traitement de tels fichiers nécessite en général le passage par des
formats intermédiaires, pas mal de bidouille et l'exploration des
fonctionnalités des différents programmes dont on dispose pour trouver les
bons pivots.

Si dans tes fichiers, les paquets de data, tels que tu l'as indiqué, sont
séparés par un saut de ligne ou un retour paragraphe*, il est possible de
les convertir en tableau dans Word. Partant de là, un copier/coller dans
Excel permet un export dans différents formats.

* Sous ces réserves, dans Word, procéder à un remplacement de "-retour ligne
ou retour paragaphe-" par "tab" Cela met en ligne les data en colonne, à
raison d'une ligne par paquet de data et convertir le texte en tableau avec
pour séparateur la tabulation.
Sans être expert, je pense que l'on doit pouvoir traduire la manip dans une
macro.

--
A+
Papy Bernard (RTCien malgré lui)

Avatar
Jean-Luc ERNST
Bonjour Clément,
je ne suis pas un virtuose comme toi en matière de Word et je suppose
que ce que tu as écrit est une macro ou un truc du genre. Mais je n'ai
jamais utilisé cela...
De plus, je ne parviens pas à voir si chaque ligne est causée par un
saut de ligne (retour chariot) ou par une marque de paragraphe.

En cherchant, j'ai trouvé à l'instant la solution suivante avec Word.

Sélectionner le texte.
Transformer le texte en tableau à 1 colonne.
Ajouter 1 colonne à gauche et 1 à droite.
Remplir ces colonnes avec une paire de guillemets.
Transformer le tableau en texte.
Enregistrer sous format texte avec tabulation.
Rechercher/remplacer les tabulations pour les supprimer.
Je me retrouve au final avec exactement ce que je cherchais:
un enregistrement par ligne délimité par des guillemets.

Il suffira dorénavant que mon correspondant (c'est lui qui génère les
textes) utilise un modèle de document Word préformaté en tableau à 3
colonnes dont les deux colonnes de gauche et droite sont déjà pourvues
de guillemets.

J'ai essayé avec Excel mais ce dernier m'exporte 4 guillemets pour
chaque guillemets rencontré dans un tableau à 3 colonnes.

Merci à tous pour votre serviabilité. Comme vous le voyez, vos
suggestions (tableau, Excel, chercher/remplacer, etc.) m'ont aidé à
trouver une solution à mon problème

Cordialement,
Jean-Luc Ernst


"Clément Marcotte" a écrit dans le
message de news:
Bonjour,

Pour peu que tu aies une liste dans Word avec chaque valeur seule sur
une seule ligne et chaque ligne terminée par une marque de paragraphe:

Sub ListeEnFichierTexte()
Dim para As Object, laligne As String
Open "c:copielabelleliste.txt" For Output As 1
For Each para In ActiveDocument.Paragraphs
laligne = Chr(34) & Left(para, Len(para) - 1) & Chr(34)
Print #1, laligne
Next
Close
End Sub


Avatar
Papy Bernard
Slt,

De Jean-Luc ERNST

Un beau dessin valant mieux qu'un long discours :

en trois coups de cuiller à pot

http://cjoint.com/?gkq2mwnuKf


--
A+
Papy Bernard (RTCien malgré lui)
Avatar
Circé
Bonjour Jean-Luc,

N'en déplaise à certains qui ne pensent qu'à critiquer, mais la
solution de recherche-remplace que je t'ai indiquée en premier lieu n'a
même pas besoin de tableau ! Comme je l'ai dit, mais je ne connais pas
comment est fait ton fichier original, si tous tes mots sont séparés
par des retours paragraphe, suffit de remplacer ceux-ci par des
guillemets.

Pas besoin d'ajouter des colonnes, de faire des transformations, de
supprimer les tabs...

Ne pas oublier que sur des fichiers très importants comme les tiens, le
travail en tableau peut prendre beaucoup de temps.

Circé
http://faqword.free.fr


Bonjour Clément,
je ne suis pas un virtuose comme toi en matière de Word et je suppose que ce
que tu as écrit est une macro ou un truc du genre. Mais je n'ai jamais
utilisé cela...
De plus, je ne parviens pas à voir si chaque ligne est causée par un saut de
ligne (retour chariot) ou par une marque de paragraphe.

En cherchant, j'ai trouvé à l'instant la solution suivante avec Word.

Sélectionner le texte.
Transformer le texte en tableau à 1 colonne.
Ajouter 1 colonne à gauche et 1 à droite.
Remplir ces colonnes avec une paire de guillemets.
Transformer le tableau en texte.
Enregistrer sous format texte avec tabulation.
Rechercher/remplacer les tabulations pour les supprimer.
Je me retrouve au final avec exactement ce que je cherchais:
un enregistrement par ligne délimité par des guillemets.

Il suffira dorénavant que mon correspondant (c'est lui qui génère les textes)
utilise un modèle de document Word préformaté en tableau à 3 colonnes dont
les deux colonnes de gauche et droite sont déjà pourvues de guillemets.

J'ai essayé avec Excel mais ce dernier m'exporte 4 guillemets pour chaque
guillemets rencontré dans un tableau à 3 colonnes.

Merci à tous pour votre serviabilité. Comme vous le voyez, vos suggestions
(tableau, Excel, chercher/remplacer, etc.) m'ont aidé à trouver une solution
à mon problème

Cordialement,
Jean-Luc Ernst


"Clément Marcotte" a écrit dans le message de
news:
Bonjour,

Pour peu que tu aies une liste dans Word avec chaque valeur seule sur une
seule ligne et chaque ligne terminée par une marque de paragraphe:

Sub ListeEnFichierTexte()
Dim para As Object, laligne As String
Open "c:copielabelleliste.txt" For Output As 1
For Each para In ActiveDocument.Paragraphs
laligne = Chr(34) & Left(para, Len(para) - 1) & Chr(34)
Print #1, laligne
Next
Close
End Sub




1 2 3 4