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

VBA Access Discussion :

Agir sur un sous formulaire situé sur une page (controle Onglet) [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut Agir sur un sous formulaire situé sur une page (controle Onglet)
    Bonjour à tous,
    J'essaie de mettre en place le comportement suivant: agir depuis un sous-formulaire A situé en page 01, sur un autre sous-formulaire B situé en page 02.
    Les pages 01 et 02 sont des onglets. Les 2 sous-formulaires A et B sont liés tous deux au formulaire principal (dépendants) et affichent les données d'une même table: Le sous-form A en mode feuille de données, le sous-form B en mode affichage unique.
    L'idée étant de cliquer sur un champ de A pour basculer vers B, sur ce même enregistrement.

    J'ai mis ce code VBA dans l'action du click sur un des champs de A:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub ChampFormA_Click()
        Dim strSQL As String
     
        strSQL = "SELECT tblTache.* FROM tblTache WHERE (tblTache.ID=" & Me.ID.Value & ") ORDER BY tblTache.DateTache DESC;"
     
        Forms![frm00_FormPricipal]![SubFrmB].Form.RecordSource = strSQL
     
        Forms![frm00_FormPricipal].Controls("Page02").SetFocus
     
    End Sub
    Le basculement se passe bien, mais le sous-formulaire B s'ouvre en mode création et perd la liaison avec le Form principal.
    Pouvez-vous m'aider?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Bonjour Lincoln911,

    Essayes d'utiliser la méthode findNext au lieu de la propriété RecordSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ChampFormA_Click()
     
        Dim rs As Recordset
        Set rs = Forms![frm00_FormPricipal]![SubFrmB].Form.Recordset.Clone
        rs.FindFirst "ID=" & Me.ID.Value
        Forms![frm00_FormPricipal]![SubFrmB].Form.Bookmark = rs.Bookmark
        Forms![frm00_FormPricipal].Controls("Page02").SetFocus
     
    End Sub
    Remarque: La source des données du formulaire B doit être la table "tblTache" sans mettre un condition where.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Merci faroug

    ta proposition marche nickel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sommer colonnes dans un sous formulaire basé sur une requête
    Par maronnette dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 04/05/2008, 14h11
  2. Exprimer une condition sur des sous-formulaires.
    Par Julieta dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/12/2007, 15h11
  3. Réponses: 8
    Dernier message: 03/01/2007, 10h51
  4. Sous-Formulaire basé sur une requête nécessitant des paramètes
    Par nicou50 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 02/09/2006, 22h18
  5. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 15h25

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