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 :

Ouvrir un formulaire basé sur un enregistrement la sélection d'un enregistrement d'un sous-formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut Ouvrir un formulaire basé sur un enregistrement la sélection d'un enregistrement d'un sous-formulaire
    Bonjour,
    Cette question a été maintes fois posée mais même après avoir passé le forum en long, en large et en travers, je ne trouve pas la solution.
    Voilà, j'ai un formulaire "01_ENTREPRISE" qui contient un sous-formulaire "02_CONTACTS" en mode données qui contient lui-même un sous-formulaire "03_VISITES" en mode données. Les tables s'appellent la même chose que les formulaires. Chaque table à une clé unique et les liaisons sont du type un à n (père & fils). Jusque là rien d'extraordinaire. Voir structure en pièce jointe
    J'aimerais qu'en double cliquant sur un enregistrement du sous-formulaire "03_VISITE", il ouvre un autre formulaire s'appelant "05_TEMPS_COUTS" et pouvoir y ajouter un enregistrement s'il n'y en a pas encore un.

    Voici ce que j'ai pondu en faisant des copier/coller du forum mais visiblement c'est pas encore ça... Pouvez-vs m'aider svp? D'avance merci

    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
     
    Private Sub ID_VISITES_DblClick()
    On Error GoTo Err_ID_VISITES_Click
     
        Dim DocName As String
        LinkCriteria = "[ID_VISITES] = " & Me![ID_VISITES]
     
        DocName = "05_TEMPS_COUTS"
        LinkCriteria = "[ID_VISITES] = Forms![03_VISITES]![ID_VISITES]"
        DoCmd.OpenForm DocName, , , LinkCriteria
     
    Exit_ID_VISITES_Click:
        Exit Sub
     
    Err_ID_VISITES_Click:
        MsgBox Error$
        Resume Exit_ID_VISITES_Click
    End Sub
    Pièce jointe 442616
    Images attachées Images attachées  

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Certain que votre form 02 est en affichage feuille de données et que vous y avez inséré en tant que sform le form 03 ?
    A tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ID_VISITES_DblClick(Cancel As Integer)
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me.ID_VISITES
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci pour la proposition mais ça ne fonctionne pas correctement,
    J'ai mis ce code au niveau du double-clic du sous-formulaire "03_VISITES". Lorsque je clique ou double-clic sur l'enregistrement du sous formulaire "03_VISITES", il ne se passe rien. Lorsque je double-clique sur l'enregistrement du champs "ID_VISITE", une fenêtre pop-up apparait avec un champs vide. Je fais "Enter" et là, le formulaire "05_TEMPS_COUTS" s'ouvre mais au niveau du 1er enregistrement de la table. Ce n'est pas ce que je veux.
    Avez-vs d'autres idées? Je pense qu'avec mon code je ne dois pas être loin mais...

  4. #4
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Citation Envoyé par Eric_le_Rouge Voir le message
    Voilà, j'ai un formulaire "01_ENTREPRISE" qui contient un sous-formulaire "02_CONTACTS" en mode données qui contient lui-même un sous-formulaire "03_VISITES" en mode données.
    La construction de vos sform2 et sform3 est atypique. Je ne suis pas certain que vous puissiez visualiser sform3 dans sform2. Ils sont tous les 2 en mode affichage feuille de données !

    Une capture d'écran de votre form svp avec le msg d'erreur

  5. #5
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci pour votre soutien,
    Après différents essais, j'ai mis le code au niveau du champs "ID_VISITES" avec l'évènement Sur double clic et ça marche! Merci
    Par contre j'aimerais ne pas devoir cliquer sur le champs "ID_VISITES" mais sur la ligne d'enregistrement. En outre, j'aimerais pouvoir ajouter un nouvel enregistrement dans la table "05_TEMPS_COUTS" et qu'il s'ouvre directement avec l' "ID_VISITE" du formulaire "05_TEMPS_COUTS" Hum, est-ce clair?

  6. #6
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Sauf si quelque chose m'échappe, je doute que vous puissiez visualiser votre form03visites (affichage feuille de données) qui est inséré en tant que sform dans le form02contacts qui est lui-même en affichage feuille de données.

    Sinon pour répondre à la problématique de sélectionner un enregistrement dans votre sform3visites et ouvrir le formcouts, il y a une solution ici qu'il vous faudra adapter.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Bonjour et merci,
    Oui cette ouverture de formulaire fonctionne. Actuellement, lorsque je double-clique sur le contenu du champs "ID_VISITES" du sous-formulaire N°3, ça ouvre le formulaire "TEMPS & COUTS". Ce n'est pas tout à fait ce que je veux car j'aimerais ouvrir le formulaire "TEMPS & COUTS" avec un bouton (ellipse rouge). J'aimerais qu'en sélectionnant une ligne d'enregistrement spécifique du sous-formulaire N°3 du formulaire "01_ENTREPRISES"
    Nom : Formulaire client_new.jpg
Affichages : 823
Taille : 118,1 Ko
    (au lieu d'effectuer un double-clique dans le champs "ID_VISITE") et en cliquant sur le bouton, ça m'ouvre le formulaire correspondant (05_TEMPS_COUTS) avec le bon enregistrement
    Nom : Formulaire couts.jpg
Affichages : 653
Taille : 27,5 Ko

    Code actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub ID_VISITES_DblClick(Cancel As Integer)
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me.ID_VISITES
    End Sub
    Je pense que ça doit être possible non? D'avance merci et bon dimanche.

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    le contrôle est dans un sous-formulaire, il faut donc y faire référence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ID_VISITES_DblClick(Cancel As Integer)
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me.NomSousForm.Form.ID_VISITES
    End Sub
    remplacer NomSousForm par le Nom du contrôle sous-formulaire

  9. #9
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Bonjour Tee Grandbois,
    Je vous remercie pour votre réponse. Actuellement, lorsque je clique sur le bouton "Ouverture formulaire coûts" j'ai une erreur de compilation et une ligne jaune est mise en évidence ds le compilateur. J'ai mis cette action sur Click du bouton CommandeOuvFormCouts.
    Ce que j'aimerais c'est qu'en séquence 1, je sélectionne la ligne d'enregistrement et en séquence 2, je puisse cliquer sur le bouton "Ouverture formulaire coûts" et que ça m'ouvre le formulaire "05_TEMPS_COUTS". Vous croyez que ceci est possible? D'avance merci pour votre réponse.
    Nom : Foto finale.jpg
Affichages : 674
Taille : 140,1 Ko

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour
    Ce que j'aimerais c'est qu'en séquence 1, je sélectionne la ligne d'enregistrement et en séquence 2, je puisse cliquer sur le bouton "Ouverture formulaire coûts" et que ça m'ouvre le formulaire "05_TEMPS_COUTS". Vous croyez que ceci est possible?
    j'avais bien compris et oui, c'est possible.
    Citation Envoyé par tee_grandbois
    remplacer NomSousForm par le Nom du contrôle sous-formulaire
    est-ce que 03_VISITES est bien le Nom et pas l'Objet source du sous-formulaire ?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Il me semble oui mais étant novice je peux ne pas avoir toutes les nuances. Est-ce que je peux vous faire parvenir ma BD. Ca serait plus simple non?

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    Est-ce que je peux vous faire parvenir ma BD. Ca serait plus simple non?
    si les 2 propriétés contiennent la même chose:

    Nom : _PropSf.JPG
Affichages : 592
Taille : 19,4 Ko

    dans ce cas: oui, compresse une copie de ta base (allégée et sans données confidentielles) au format ZIP ou RAR et met-la en pièce jointe (icône ci-dessous):

    Nom : DVP_Joindre.JPG
Affichages : 603
Taille : 25,5 Ko

  13. #13
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    C'est plus tôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub MonBoutonCommande_Click()
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me!02_CONTACTS.Form!03_VISITES.Form!ID_VISITES
    End Sub
    où 02_CONTACTS est le sform qui contient datecréation, nom, prenom, etc. et 03_VISITES le sform inséré dans le sform 02_CONTACTS qui contient date, heure, résumé, etc.
    Attention, ne peut fonctionner que si une valeur id_visites existe de part et d'autre.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci pour ton aide. C'est sympa
    Voici en PJ la BD BD simple.rar. Moi je ne trouve pas ou ça coïnce
    Bonne journée et encore merci

  15. #15
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci Hyperion13
    Oui tu as tout juste dans ton énoncé. J'ai modifié le code comme tu me l'as suggéré mais ça plante toujours. J'ai mis la DB en pj dans le message avant celui-ci. Tu verras que le code est antécédent à ta proposition. Ah je ne m'en sort plus mais restons Zen! On va y arriver

  16. #16
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Au final j'ai mis le code suivant sur mon bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandeOuvFormCouts_Click()
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me!02_CONTACTS.Form!03_VISITES.Form!ID_VISITES
    End Sub
    et une fenêtre s'ouvre pour me dire qu'il y a "Erreur de compilation, erreur de syntaxe" et le message
    Nom : Erreur code 250119.jpg
Affichages : 629
Taille : 78,0 Ko

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    visiblement , il y a besoin de mettre le nom des sous-formulaires entre crochets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "05_TEMPS_COUTS", , , "ID_VISITES = " & Me![02_CONTACTS].Form![03_VISITES].Form!ID_VISITES

  18. #18
    Membre à l'essai
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Décembre 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Cool! Ca fonctionne! Un grand merci à toi tee_grandbois. T'es un chef!
    J'ai encore une demande. J'aimerais que s'il ne trouve pas un enregistrement dans le formulaire qu'il a ouvert, il m'en ajoute un! Merci d'avance pour ta réponse et bon dimanche

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

Discussions similaires

  1. [AC-2007] Sous-formulaire basé sur plusieurs tables: nouvel enregistrement.
    Par ambroisine dans le forum IHM
    Réponses: 1
    Dernier message: 26/05/2010, 00h02
  2. Réponses: 6
    Dernier message: 08/07/2008, 10h44
  3. 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
  4. Réponses: 4
    Dernier message: 11/08/2007, 17h31
  5. 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

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