This is a public Forum  publicRSS

nouveau message

    vet92
    créer un nouvel enregistrement dans une table incluse dans...
    nouveau message posted December 15, 2009 by vet92 , last edited February 9, 2012
    687 Views, 4 Comments
    Titre:
    créer un nouvel enregistrement dans une table incluse dans une autre table
    Contribution au forum:
    comment faire pour placer un bouton qui va créer un nouvel enregistrement dans une table alors que ctte table est imbriqué dans un modèle concerant une autre table : ecran table des animaux je veux créer une nouvelle consultation dans la zone table des consultations. pourle moment je vais à la fin de la liste des consultations, je prend l'enregistrement vide et je saisis à l'intérieur pour créer un nouveau.

    Answer

     

    • MLansard

      Bonjour et bienvenue sur ce forum,

       

      Si je comprend, il y a une table "animaux" et une table "consultations".

      Les deux sont reliées par une relation "1 à n", c'est à dire qu'un animal peut avoir plusieurs consultations mais qu'une consultation ne porte que sur un seul animal.

       

      Il semble y avoir un modèle basé sur la table animal, portant une table externe montrant les consultations de l'animal concerné.

       

      Le lien semble permettre la création des fiches liées. Il est donc simple de saisir une nouvelle consultation en prenant la rangée vierge dans la table externe. 

       

      C'est bien cela ? En quoi ceci ne suffit-il pas ?

       

      Si nécessaire, on peut effectivement faire un bouton, sur le modèle "animaux". Ce bouton va lancer un script "Créer nouvelle consultation".

       

      Ce script commence par stocker dans une variable l'identifiant de l'animal visé. Puis va sur un modèle de la table "consultation". Là le script crée un nouvel enregistrement. Puis il place le contenu de la variable dans la rubrique d'identifiant secondaire, indiquant l'animal. C'est le principe général.

       

      Cordialement 

       

       

    • vet92

      Le lien semble permettre la création des fiches liées. Il est donc simple de saisir une nouvelle consultation en prenant la rangée vierge dans la table externe.
       
      C'est bien cela ? En quoi ceci ne suffit-il pas ?

       

       

      non cela ne suffit car la rangée vierge se place toujours à la fin de la liste de consultation et comme il y en a parfois plus 20 cel conduit à descendre l'ascenceur trop longtemps. Aves-vous une astuce pour placer la rangée vierge en tete de la liste qui habituellement est classée par date ordre décroissant (les + récente apparaissant en premier.

       

      merci encore de votre réponse

    • GillesBrunel1

      Bonjour,

       

      l'enregistrement "fantôme" permettant la création auto n'étant pas un

      enregistrement existant, on ne peut le trier. Je serais bien preneur également

      d'une astuce permettant de le voir figurer en tête de liste mais je doute

      qu'elle existe (sait-on jamais).

      Pour y avoir un accès direct, tu peux utiliser un ordre de script

      "Activer rangée externe [Sélectionner; Dernièr(e)]". en arrivant sur

      ton modèle mais cela te ferait perdre la raison de ton tri (première rangée =

      dernier enreg créé).

       

       Le mieux est effectivement d'abandonner (comme souvent je trouve) la création

      auto par lien et de la scripter pour en garder toute la maîtrise.

       

      Une astuce consisterait à créer une ligne de nouvelle consultation en tête de

      ta table externe, qui serait faite de rubriques globales, avec une jolie icône

      pour valider la ligne (par script, donc) : illusion parfaite.

       

       

      Gilles

       

       

    • Bruno1

      Je ne suis pas un spécialiste, mais je ne connais pas le moyen de mettre "l'enregistrement fantôme" en tête. Par contre en tant que "Jo la bricole", je peux vous proposer une solution. Si l'enregistrement "fantome" ne peux être en tête, un enregistrement vierge peut l'être avec un ordre de tri adapté.

       

      Dans ce cas la solution sera de créer un script selon la méthode de Michel avec retour sur le modèle d'origine. Vous créez par ce script un enregistrement lié totalement vierge (sauf peut-être l'ID si vous en mettez un). Avec les trigger, vous lancez ce script dès la saisie de la première rubrique (ou de la dernière selon votre façon de travailler) de cet enregistrement vierge pour en créer un autre, qui si l'ordre de tri est correct se retrouvera à nouveau en tête.

       

      Bruno.