Traitée Sous-formulaire Access 2003

  • jeudi 17 novembre 2011 09:30
     
     

    Bonjour,

    Comment faire pour qu'un sous-formulaire Access s'affiche sur le dernier enregistrement ?

    Merci

Toutes les réponses

  • jeudi 17 novembre 2011 15:07
    Modérateur
     
      A du code

    Bonjour,

    Il y a plusieurs solutions...

    La plus simple serait celle-ci :

    Private Sub NomObjetSousFormulaire_Enter()
        DoCmd.GoToRecord acDataForm, Me.Name, acLast
    End Sub

    qui consiste à atteindre le dernier enregistrement lorsque l'on tente de saisir dessus.

    Est-ce que cela vous convient où faut-il approfondir ?


    Argy
  • jeudi 17 novembre 2011 17:24
     
     

    Bonjour,

    Pour info, je viens justement pile poil d'avoir +/- le même problème et j'ai dû prendre la syntaxe minimale :

    DoCmd.GoToRecord , , acLast

    J'avais une erreur du style "formulaire non ouvert".
    Mais il ne s'agissait que d'affichage : pas de modif autorisée, le sous-formulaire étant dans le pied sans lien de champs parent-fils

    <Argyronet> a écrit dans le message de news: 1348c450-14d7-497f-b8b3-b6c3384cbb21@communitybridge.codeplex.com...

    Bonjour,

    Il y a plusieurs solutions...
    La plus simple serait celle-ci :

    Private Sub NomObjetSousFormulaire_Enter()
    DoCmd.GoToRecord acDataForm, Me.Name, acLast
    End Sub
    


    qui consiste à atteindre le dernier enregistrement lorsque l'on tente de saisir dessus.
    Est-ce que cela vous convient où faut-il approfondir ?


    Argy

  • lundi 21 novembre 2011 10:27
     
     

    Bonjour,

    Merci de la réponse, mais ce n'est pas exactement ce que je souhaite.

    En fait je voudrais que pour tous les enregistrement du formulaire principal, le sous-formulaire s'affiche toujours avec les derniers enregistrements visibles.

    Pour le moment je vois, quoi que je fasse, les premiers enregistrements et je dois faire défiler vers le bas pour arriver sur le dernier.

    Merci

  • lundi 21 novembre 2011 12:37
    Modérateur
     
     

    Oui j'avais bien compris...

    Il me faudrait savoir à quel moment vous souhaitez obtenir cela...

    Ce que je vous ai proposé atteint le dernier enregistrement lorsque vous donnez le focus au sous-formulaire...

    A vous...


    Argy
  • mercredi 30 novembre 2011 14:54
     
     

    Désolé pour le délai...

    Je voudrais que quand j'ouvre le formulaire principal et quand je me déplace dans les enregistrements de celui-ci, le sous formulaire s'affiche en montrant le dernier enregistrement. (sélectionné ou pas...)

    En utilisant votre méthode, ça a l'inconvénient que lors de la saisie d'un nouvel enreg dans le sous-formulaire, les données sont toujours associées au 1er enreg du formulaire principal et pas à celui qui était affiché avant de cliquer sur le sous-formulaire.

    Merci.

  • mercredi 30 novembre 2011 21:05
     
     

    <Jean Brest> a écrit dans le message

    Je voudrais que quand j'ouvre le formulaire principal et quand je me déplace dans les enregistrements de celui-ci, le sous formulaire s'affiche en montrant le dernier enregistrement. (sélectionné ou pas...)
    En utilisant votre méthode, ça a l'inconvénient que lors de la saisie d'un nouvel enreg dans le sous-formulaire, les données sont toujours associées au 1er enreg du formulaire principal et pas à celui qui était affiché avant de cliquer sur le sous-formulaire.

    Bonjour Jean

    On a un peu de mal à saisir votre problème.  Je rappelle votre question initiale : « Comment faire pour qu'un sous-formulaire Access s'affiche sur le dernier enregistrement ? » point.

    La notion de "dernier" dans un (SG)BDR n'existe pas.  Vous devez "horodater" vos enregistrements, et indexer et trier ce champ dans la source de votre sous-formulaire..
    Après la création d'un nouvel enregistrement, utilisez la méthode "Me.NomSousFormulaire.Requery".
    Je ne comprends pas « (sélectionné ou pas...) » : si le sous-formulaire est lié (Père/fils), vous ne devriez pas avoir de problèmes.

    Cdt,

    Blaise

  • mercredi 7 décembre 2011 15:40
     
     
    Je laisse tomber, ce n'est pas si grave... Cependant : "La notion de dernier n'existe pas..." : Alors pourquoi y a-t-il une commande GotoRecord...,aclast ? "Je ne comprend pas "séléctionné ou pas"" : Extrait de l'aide Access => Sélectionner des champs et des enregistrements dans une feuille de données. @+, merci d'avoir passé du temps.
  • jeudi 19 avril 2012 12:37
     
     Traitée

    ajouter dans tous les événements du formulaire principal qui modifient l'affichage du sous-formulaire, la clause :

        Nom_Sous-Form.Form.Recordset.MoveLast

    • Marqué comme réponse Jean Brest jeudi 19 avril 2012 12:37
    •