Donnez vie à vos documents numériques !
 

Récupération données BDD dans un formulaire PDF. – RÉSOLU

abracadabraPDF Forums PDF – Général Récupération données BDD dans un formulaire PDF. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44667
    DeyDey
    Membre

    Bonjour à tous,

    Après des jours de recherches, en vain, je n’ai pas la solution de mon problème qui est le suivant :

    J’ai créé un formulaire PDF sur Adobe Acrobat Pro XI et j’aimerai pouvoir récupérer toutes les infos d’une base de données qui correspond aux champs.

    Par exemple, J’ai une liste déroulante dans mon formulaire (Nom), avec tous les noms référencés dans ma BDD; j’aimerai qu’une fois le nom choisi, les autres champs se remplisse automatiquement avec les champs qui correspondent dans la BDD.

    J’espère que vous avez compris ma question.

    Merci d’avance :) !

Affichage de 25 réponses de 76 à 100 (sur un total de 106)
  • Auteur
    Réponses
  • #55920
    DeyDey
    Membre

    Euuuh Whaaat ?!
    Je crois que je vais laisser tomber, j’ai beaucoup d’autres choses à avancer (notamment l’exportation dans une base structurée –‘) et mon maître de stage va s’impatienter..

    :mur:

    #55921
    alex
    Participant

    Pour illustrer la première proposition de Merlin voici un exemple qui exploite la variable globale mémorisée sur la plate-forme où l’on travaille. Il y a donc quelques contraintes d’exploitation à connaître.
    Attention: deux scripts sont à l’oeuvre! Le premier est activé par l’ouverture du document, l’autre par l’action d’enregistrement[ (Définir les actions du document>Le document sera enregistré./color]

    [attachment deleted by admin]

    #55922
    DeyDey
    Membre

    Y a t-il un moyen de mettre la fonction sur un bouton ? (pour tester)
    Et j’ai bien recopié les 2 scripts, mais rien ne s’affiche dans mon champ.  :mur:

    #55923
    alex
    Participant

    Non, on ne doit pas simuler par un bouton puisque les évènements qui gèrent les scripts sont:
    1-l’ouverture du document pour le calcul du nouvel identifiant.
    2-la fermeture du document pour l’enregistrement de la variable locale.
    Ci-joint un document qui ouvre la console à l’issue de la numérotation, recopier le contenu pour que l’on puisse analyser l’erreur éventuelle.
    Pour tester:Ouvrir, enregistrer, réouvrir,enregistrer, etc…

    [attachment deleted by admin]

    #55924
    DeyDey
    Membre

    Merci,

    Mon maître de stage vient de m’apprendre qu’il peut être amené, par exemple, à faire 7 ou 8 bordereaux d’affilés et recommencer l’après-midi, par exemple.

    Peut-être que l’on ajouter une fonction qui, quand on valide le formulaire pour exporter/imprimer, automatise uniquement la fermeture du bordereau (pas du logiciel).

    Est-ce possible ?

    Ci joint, le dernier document à jour.

    [attachment deleted by admin]

    #55925
    Merlin
    Maître des clés

    A placer en action souris enfoncée dans le bouton concerné :
    this.closeDoc();

    :Smiley01:

    #55926

    BONJOUR,

    Merci,

    Et par hasard, s’il existe un script qui envoi les données du formulaire, dans un tableau structuré (Excel, access ou autre) ?

    Et est-il possible que ce bouton demande d’enregistrer, d’imprimer et d’exporter ?

    Un moment donné, quand on abord un autre point : il faut savoir créer un nouveau sujet (avec un titre adéquat).  :Smiley01:

    Merci à vous.

    Lionel :alien2:

    #55927
    alex
    Participant

    Pour poursuivre le débat sur la numérotation automatique d’un document, voici une maquette où deux boutons assurent:
    1-la numérotation automatique.
    2-la fermeture du formulaire avec, en cas d’enregistrement, la mémorisation du dernier numéro.
    Pour raffiner, on pourrait rendre invisible le champ « Attribuer un numéro » et le champ « Valider le bordereau » visible après attribution du numéro.
    Attention de bien recopier les scripts de document.

    En ce qui concerne l’export des données, c’est l’objet d’un fil différend, je suis bien d’accord.

    [attachment deleted by admin]

    #55928
    Merlin
    Maître des clés

    Un moment donné, quand on aborde un autre point : il faut savoir créer un nouveau sujet (avec un titre adéquat).

    C’est fait : http://abracadabrapdf.net/forum/index.php/topic,2268.0.html
    :bonjour:

    #55929
    DeyDey
    Membre

    Désolé pour le mauvais post.
    Merci Merlin de l’avoir déplacé au bon endroit, et merci Alex pour ton aide :) !

    J’ai recopié tous les script au bon endroit et dans mon champ, il s’affiche « xxxxx », je n’ai aucune idée pourquoi.

    Ouaaa et je viens d’avoir un gros souci la.. (Je suis désolé  :Ooops:)
    Pour le numéro de CAP, en fait je doit choisir un « Nom (case2) », la « rubrique déchet (case3) » et qu’il me propose une liste déroulante pour le numéro de CAP (case2) qui correspond au « Nom » et à la « Rubrique déchet ».

    Je joint le BSD avec un .csv type comme exemple qui pourrait être donné (02_CAP.csv)

    [attachment deleted by admin]

    #55930
    Merlin
    Maître des clés
    #55931
    DeyDey
    Membre

    Edit du message précédent (je ne voulais pas flooder)  :oh:

    #55932
    alex
    Participant

    Dans ton formulaire manque le script lié à l’enregistrement du document:
    Outils>Définir les actions du document>Le document sera enregistré…
    Pour le reste, je n’ai rien compris. le contenu d’un menu déroulant dépend du choix effectué sur un autre ???
    Merlin, on pourrait ouvrir un fil sur ce seul thème de la numérotation automatique, je vous proposerai une solution plus raffinée que vous pourrez tester.
    Bonsoir à tous et bon week-end.

    #55933
    Merlin
    Maître des clés

    Merlin, on pourrait ouvrir un fil sur ce seul thème de la numérotation automatique, je vous proposerai une solution plus raffinée que vous pourrez tester.

    C’est fait : http://abracadabrapdf.net/forum/index.php/topic,2270.new.html
    :Smiley03:

    #55934
    DeyDey
    Membre

    Merci, le numéro automatique fonctionne.
    Pour le numéro de CAP je vais essayer d’être plus clair:

    Le « 02_CAP » doit dépendre de « 02_Installation_de_destination » et « 03_Rubrique ». C’est-à-dire que si je sélectionne tel «Nom » et tel « Déchet », la liste des numéros de CAP doit me proposer que les numéros qui sont associés au nom et au déchet.
    J’ai fait un .csv exemple (02_CAP.csv) des possibilités.

    Ci-joint le dernier document a jour.

    [attachment deleted by admin]

    #55935
    DeyDey
    Membre

    En fait c’est des listes déroulantes liées mais avec des données extérieures (pièces jointes) et non encrées directement dans le code.

    #55936
    alex
    Participant

    Le menu déroulant « 02_CAP » ne peut plus être renseigné à l’ouverture du document puisqu’il dépend de deux autres sélections. En conséquence, on ne doit pas voir apparaître le script configComBox() dans le script xinitialisation(). Par précaution, on vide le menu déroulant « 02_CAP ».d’où, les lignes suivantes:

    nomFichier= »02_CAP.csv »;
    lectureCSV();
    data02_CAP=data;
    configComboBox();
    this.getField(« 02_CAP.csv »).clearItems();

    Par contre, on doit créer deux scripts au niveau des menus déroulants « 02_Installation_de_destination » et « 03_Rubrique ». pour mettre à jour le menu « 02_CAP.csv »,
    Onglet Format>Personnalisé>Script de touche personnalisé
    1-pour « 02_Installation_de_destination », un script de la forme:

    //Remplissage du menu déroulant
    if(!event.willCommit)
    {
    table=new Array() ;
    choix1=this.event.changeEx;
    choix2=this.getField(« 03_Rubrique »).value;
    //définition de la table à partir des choix1 et choix2 (la table « dépend de »)
    //……………script à écrire………………….
    //
    f2=this.getField(« 02_CAP »);
    f2.delay=true;
    f2.clearItems();
    j=0;
    while(j

    {
    f2.insertItemAt(table[j],j,j)
    j=j+1;
    }
    f2.currentValueIndices=0;
    f2.delay=false;
    }

    2-pour « 02_Installation_de_destination », un script de la forme:
    //Remplissage du menu déroulant
    if(!event.willCommit)
    {
    table=new Array() ;
    choix1=this.getField(« 02_Installation_de_destination »).value;
    choix2=this.event.changeEx;
    //définition de la table à partir de choix1 et choix2. (la table « dépend de »)
    //……………script à écrire………………….
    //
    f2=this.getField(« 02_CAP »);
    f2.delay=true;
    f2.clearItems();
    j=0;
    while(j

    {
    f2.insertItemAt(table[j],j,j)
    j=j+1;
    }
    f2.currentValueIndices=0;
    f2.delay=false;
    }

    Hélas, je ne peux pas définir les tables des items car je ne suis pas une voyante extra-lucide ni un enchanteur  !

    #55937
    DeyDey
    Membre

    Merci de me consacrer du temps Alex :D.

    Je ne suis pas tout-à-fait sur de la structure du script a rajouter ? (Désolé je suis un vrai plot en Js :/)

    #55938
    DeyDey
    Membre

    J’ai des erreurs qui viennent d’apparaître comme par magie.
    Des erreurs de protection, plus aucun champs ne marche, la numérotation auto ne marche plus.
    Je ne vois pas ce que j’ai modifier pour que cela arrive.
    Je commence vraiment à désespérer :( .. 

    #55939
    Merlin
    Maître des clés

    Pas de panique, au pire des cas il suffit de repartir d’une version antérieure.
    :Smiley01:

    #55940
    alex
    Participant

    Quand plus rien ne marche, c’est que le diagnostique est aisé (en général). Ouvrir la console avec un Ctrl-J (sur Pc) ou un cmd-J (sur Mac), mes scripts sont assez bavards, on devrait avoir une piste…
    Bon week-end à tous.

    #55941
    DeyDey
    Membre

    Salut,
    Pour les erreurs, voici ce qu’indique la console:

    Code:
    NotAllowedError: Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
    Global.dernNum:7:Field Num:Mouse Up

    TypeError: table[event.changeEx] is undefined
    20:Field:Keystroke

    Rien de plus..

    Quand à l’exportation des données, je ne tire pas beaucoup de solution avec d’autres logiciels..

    #55942
    alex
    Participant

    Bonjour,
    Tout d’abord donnes-nous quelques précisions.
    Quelle application (Acrobat ou Acrobat Reader) et quelle version ? Système d’exploitation  (Windows Xp ?) pour cette recopie de la console ?
    Ensuite, vérifies le réglage des préférences d’Adobes Reader et refais un essai. (voir copie d’écran jointe).
    A suivre.

    [attachment deleted by admin]

    #55943
    DeyDey
    Membre

    J’utilise Acrobat Pro XI sur Windows 8.
    Le logiciel sera sur windows XP lu avec un vieux Adobe Reader.

    J’ai fais la modification que tu m’as donné, ça fonctionne pour le numéro du bordereau.
    Par contre, le remplissage des champs ne fonctionne toujours pas.

    Je joint le fichier en date.

    [attachment deleted by admin]

    #55944
    DeyDey
    Membre

    UP

Affichage de 25 réponses de 76 à 100 (sur un total de 106)
  • Vous devez être connecté pour répondre à ce sujet.