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 :

Chercher l'enregistrement suivant via sous-formulaire d'un autre sous-formulaire [Toutes versions]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    fais ce que je peux en n'informatique
    Inscrit en
    Janvier 2012
    Messages
    96
    Points
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : fais ce que je peux en n'informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 96
    Points : 51
    Par défaut Chercher l'enregistrement suivant via sous-formulaire d'un autre sous-formulaire
    Bonjour,
    J'ai un formulaire qui permet d'afficher 3 affiches de films en même temps, chacune dans un sous formulaire
    au démarrage du formulaire :
    le sous_formulaire_2 du milieu affiche l'affiche de l'enregistrement en cour de la requête
    le sous_formulaire_1 de gauche affiche l'affiche de l'enregistrement précédent (le dernier enregistrement de la requête)
    le sous_formulaire_3 de droite affiche l'affiche de l'enregistrement suivant de la requête

    chacun comporte le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub CommandeSuivant_Click()
    On Error GoTo Err_CommandeSuivant_Click
     
     
        DoCmd.GoToRecord , , acNext
     
    Exit_CommandeSuivant_Click:
        Exit Sub
     
    Err_CommandeSuivant_Click:
        MsgBox Err.Description
        Resume Exit_CommandeSuivant_Click
     
    End Sub
    sauf le sous_formulaire_1, qui en cas d'erreur, affiche le premier enregistrement (puisqu'on ne peut pas faire un "next" sur le dernier enregistrement)

    sur clique de l'affiche du sous-formulaire 3, j'ai ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Public Sub CommandeSuivant_Click()
    On Error GoTo Err_CommandeSuivant_Click
     
     
        DoCmd.GoToRecord , , acNext
        Form_sous_formulaire_2.CommandeSuivant_Click
        Form_sous_formulaire_1.CommandeSuivant_Click
     
    Exit_CommandeSuivant_Click:
        Exit Sub
     
    Err_CommandeSuivant_Click:
        MsgBox Err.Description
        Resume Exit_CommandeSuivant_Click
     
    End Sub

    le problème est que l'affiche 3 se prend les 3 acNext issus des sous_formulaire 1 et 2


    Comment puis faire fonctionner un acNext sur chacun des sous-formulaire ? depuis le clique sur l'affiche du sous_formulaire_3 ?

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    fais ce que je peux en n'informatique
    Inscrit en
    Janvier 2012
    Messages
    96
    Points
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : fais ce que je peux en n'informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 96
    Points : 51
    Par défaut
    J'ai trouvé la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
        Dim rs As DAO.Recordset
     
        Set rs = Me.ListeFilmsSous3.Form.Recordset
        If Not rs.BOF Then
            Me.ListeFilmsSous3.Form.Recordset.MovePrevious
        End If
        If rs.BOF Then
            Me.ListeFilmsSous3.Form.Recordset.MoveLast
        End If
     
        Set rs = Me.ListeFilmsSous2.Form.Recordset
        If Not rs.BOF Then
            Me.ListeFilmsSous2.Form.Recordset.MovePrevious
        End If
        If rs.BOF Then
            Me.ListeFilmsSous2.Form.Recordset.MoveLast
        End If
     
        Set rs = Me.ListeFilmsSous1.Form.Recordset
        If Not rs.BOF Then
            Me.ListeFilmsSous1.Form.Recordset.MovePrevious
        End If
        If rs.BOF Then
            Me.ListeFilmsSous1.Form.Recordset.MoveLast
        End If

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

Discussions similaires

  1. [AC-2016] nouvel enregistrement impossible via un formulaire avec filtre
    Par lyesber dans le forum Access
    Réponses: 0
    Dernier message: 31/08/2022, 22h37
  2. Réponses: 2
    Dernier message: 01/04/2016, 17h07
  3. [Débutant] Passer à l'enregistrement suivant dans un formulaire
    Par kervin dans le forum C#
    Réponses: 2
    Dernier message: 23/12/2015, 17h09
  4. Sous-Formulaire : Passer à l'enregistrement suivant
    Par snoopy69 dans le forum Access
    Réponses: 4
    Dernier message: 27/04/2006, 14h22
  5. sous-formulaire et enregistrement suivant
    Par Cantalou dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 19h05

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