IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Lien entre champ texte et sous formulaire dans un formulaire


Sujet :

IHM

  1. #1
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut Lien entre champ texte et sous formulaire dans un formulaire
    Bonjour,

    J'ai un formulaire Form1 qui contient 2 sous formulaires SForm1 et SForm2 issus tous les 2 de la même requête.
    Sform1 est en mode données (pour la visualisation) et Sform2 en mode formulaire (pour la modification).

    Je souhaite en utilisant des boutons suivant et précédent faire défiler Sform2 tout en faisant que le curseur sur Sform1 suive. Et si je clique sur une ligne de Sform1 la même donnée se met sur Sform2.

    J'ai utilisé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Rs2 As Object
        Set Rs2 = Forms![Sform2].Recordset.Clone
        Rs2.FindFirst "[N°Obs] = " & Str(Nz(Me![N°Obs], 0))
        If Not Rs2.EOF Then Forms![Sform2].Bookmark = Rs.Bookmark
    sur l'événement activé de Sform1
    mais j'ai une erreur qui me dit Impossible de trouver le formulaire Sform2.

    Merci d'avance de votre aide.

    Marcopololo

  2. #2
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    J'ai oublié de préciser, mon formulaire possède 2 onglets.

    Sur le premier onglet j'ai déjà une fonction de suivi des champs avec mon sous formulaire qui fonctionne.

    Sur l'événement activation du sous formulaire j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Current()  'Permet aux champs extincteurs du formulaire Modif Client de se positionner
                                ' sur le même enregistrement que le sous formulaire
        Dim Rs As Object
     
            Set Rs = Forms![Modif Clients].Recordset.Clone
            Rs.FindFirst "[Liste extincteurs]![N°] = " & Str(Nz(Me![], 0))
            If Not Rs.EOF Then Forms![Modif Clients].Bookmark = Rs.Bookmark
    End Sub
    et sur le bouton suivant j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Suivant_Click()
     
        DoCmd.GoToRecord , , acNext
     Dim Rs As Object
     Set Rs = Me.Requête_Modif_Clients_sous_formulaire.Form.Recordset.Clone
     Rs.FindFirst "[N°] = " & Str(Nz(Me![], 0))
     If Not Rs.EOF Then Me.Requête_Modif_Clients_sous_formulaire.Form.Bookmark = Rs.Bookmark
     
    End Sub
    Donc pour cet onglet cela fonctionne.

    Pour le second onglet j'ai une différence. La première est que je ne peux pas travailler directement avec le sous formulaire et les champs (ceux ci ne provenant pas de la requête de mon formulaire).
    J'ai donc créé 2 sous formulaire dans mon onglet dont un avec les boutons suivant et précédent. SF1 avec les données à visualiser et SF2 les données pour modification avec les boutons Suivant et Précédent
    Si je clique sur ces boutons je fais bien défiler les données de mon sous formulaire SF2.

    Le problème arrive quand j'ajoute le même code que pour mon onglet suivant.
    Cela fait bugger le code du premier onglet. Pourtant j'utilise une autre variable RS2 au lieu de RS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Current() 'sur SF1
     
     
            Dim Rs2 As Object
        Set Rs2 = Forms![SF2].Recordset.Clone
        Rs2.FindFirst "[N°Obs] = " & Str(Nz(Me![N°Obs], 0))
        If Not Rs2.EOF Then Forms![SF2].Bookmark = Rs.Bookmark
    End Sub
    J'obtiens cette erreur dès que je clique sur le bouton suivant (ou précédent de mon premier onglet qui n'a rien à voir avec mon second onglet :
    Erreur d'exécution '2450'
    Impossible de trouver le formulaire SF2 auquel il est fait référence...
    Je viens de modifier le code du bouton suivant en forçant le nom du sous formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord , ("SF1"), acNext
    Mais j'ai une erreur qui me dit :
    L'objet SF1 n'est pas ouvert
    alors qu'il s'agit du sous formulaire de mon formulaire

    Marcopololo

Discussions similaires

  1. [AC-2007] Association champs "texte" et "oui/non" dans un formulaire
    Par verooo33 dans le forum IHM
    Réponses: 2
    Dernier message: 24/01/2011, 19h21
  2. [AC-2010] Texte ce rendre sur un champ texte pret a écrire dans un formulaire
    Par scado dans le forum VBA Access
    Réponses: 6
    Dernier message: 21/12/2010, 16h38
  3. Réponses: 2
    Dernier message: 02/03/2009, 15h18
  4. Réponses: 9
    Dernier message: 09/01/2007, 11h06
  5. Lien entre champs d'un formulaire
    Par Gali dans le forum Access
    Réponses: 7
    Dernier message: 26/04/2006, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo