OVH Cloud OVH Cloud

Formulaire PDF > Microsoft Access

7 réponses
Avatar
Coyote
Bonjour,

Savez vous comment récupérer sous access (à partir de access 97) les infos
en provenance d'un formulaire créé avec Adobe Acrobat.

Merci d'avance...

7 réponses

Avatar
3stone
Salut,

"Coyote"
|
| Savez vous comment récupérer sous access (à partir de access 97) les infos
| en provenance d'un formulaire créé avec Adobe Acrobat.


Il semble que tu devras récupérer les données à partir du flux XML


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Coyote
Il semble que tu devras récupérer les données à partir du flux XML



certe, mais comment, avez-vous un exemple qq part ?
merci

Avatar
3stone
Salut,

"Coyote"
| certe, mais comment, avez-vous un exemple qq part ?


Non.
Et par sûr que tu puisse faire directement à partir de A97.
Mais, comme le XML est un fichier texte, tu devrais pouvoir faire "à la main"

Si tu as un formulaire pdf et le fichier xml généré, on pourrait voir...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
3stone
re,

"Coyote"
| certe, mais comment, avez-vous un exemple qq part ?



ben, c'est bien comme je supposais.


A partir de la troisième ligne, tu trouve tes champs et leur contenu.

extrait :

<fields>
<field name="adpc90_send">
</field>
<field name="p_activites">
<value>secourisme, prog web et vba</value>
</field>
<field name="p_adresse">
<value>rue n°</value>
</field>
<field name="p_civ">
<value>M</value>
</field>
<field name="p_cp">
<value>90000</value>
</field>
...
...
...
</fields>
<f href="/C/@jpk/Inscription_2006_frm.pdf"/>
</xfdf>


il suffit donc d'écrire une routine qui boucle sur les lignes.

En fait, une double boucle imbriquée.
L'une entre "<fields> et "</fields>" (un seul passage)
L'autre sur "<field name=" et "</field>" (selon ne nombre de champs)

Tu lis le fichier ligne par ligne et tu teste les premiers caractères :
- si la partie gauche contient "<field" tu récupère le nom du champ
- si la partie gauche contient "<value" tu récupère la valeur du champ
- si la partie gauche contient "</field>" tu passe au champ suivant

Vu que tu es en Access 97, il te faut utiliser les fonctions de chez Jessy !
http://access.jessy.free.fr/htm/Equivalence/fReplace.htm
http://access.jessy.free.fr/htm/Equivalence/fInStrRev.htm


Si tu n'y arrive pas, il te faudra patienter un peu, je te fais cela ASAP


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
3stone
re,

"3stone"
| Si tu n'y arrive pas, il te faudra patienter un peu, je te fais cela ASAP


Bon, je t'ai fait cela vite fait... et cela fonctionne plutôt bien.
Mais... il reste une difficulté ;-(

Le fichier transmis est au format Unix en UTF-8
Ce qui veut dire que la fin de ligne est "chr(10)" et le character set n'est pas correct.

Il faudrait donc savoir si à la construction du formulaire, tu as le choix et la
possibilité d'influencer ces options ??

L'idéal sera le format DOS "chr(13)+chr(10)" et ISO ou ANSI.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Coyote
Bonjour et merci pour ton aide,

malheureusement, il ne semble pas possible de modifier le format d'export...
je cherche donc une fonction de converstion utf-8 > autre format

peux-tu me transmettre par email ta soluce ?
que penses-tu de l'idée d'utiliser DOMXML ?

merci d'avance

@+Coyote


Bon, je t'ai fait cela vite fait... et cela fonctionne plutôt bien.
Mais... il reste une difficulté ;-(

Le fichier transmis est au format Unix en UTF-8
Ce qui veut dire que la fin de ligne est "chr(10)" et le character set n'est pas correct.

Il faudrait donc savoir si à la construction du formulaire, tu as le choix et la
possibilité d'influencer ces options ??

L'idéal sera le format DOS "chr(13)+chr(10)" et ISO ou ANSI.



Avatar
3stone
Salut,

"Coyote"
| malheureusement, il ne semble pas possible de modifier le format d'export...
| je cherche donc une fonction de converstion utf-8 > autre format

en fait, le contenu des "champs" contenait des caractères mal interprétés.


| peux-tu me transmettre par email ta soluce ?

c'est parti


| que penses-tu de l'idée d'utiliser DOMXML ?

rien de spécial ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/