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 depuis un sous formulaire [AC-2003]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut Ouvrir un formulaire depuis un sous formulaire
    Bonjour à tous, je relance ma question avec plus d'explications.

    - J'ai une table nommée "Tbl_Agents" avec comme clef "Id_Agents"
    - J'ai une table nommée "Tbl_Demandes" reliée à la "Tbl_Agents" par "l'Id_Agents".
    - J'ai une table nommée "Tbl_Etat_Commandes" reliée à la "Tbl_Demandes" par "l'Id_Demandes".

    J'ai un formulaire nommé ""Frm_Agents" et à l'intérieur un sous formulaire nommé "Frm_Demandes" avec un bouton de commande nommé "Etat Commandes" pour ouvrir un formulaire nommé "Frm_Etat_commandes"

    Lorsque je clic sur le bouton "Etat Commande" le formulaire "Frm_Etat_Commandes" s'ouvre bien sauf que "l'Id_Demandes" affiches #Nom?
    et access refuse d'enregistrer les données car l'enregistrement est requis dans la table Demandes.

    Voilà si quelqu'un peut me donner un coup de main, je le remercie d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Bonjour,

    Une sauvegarde avant l'ouverture ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    docmd.runcommand accdmSaveRecord
    docmd.openform....
    A moins qu'il y ait un truc que tu occultes ?

    Cordialement,

  3. #3
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    J'ai omis de dire que "Frm_Agents" est le formulaire principal.
    Voici le code de mon bouton du sous formulaire "Frm_demandes" qui ouvre le "Frm_Etat_commande"
    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
    Private Sub Commande17_Click()
    On Error GoTo Err_Commande17_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "Frm_Etat_Commande"
     
        stLinkCriteria = "[Id_Demandes]=" & Me![Id_Demandes]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_Commande17_Click:
        Exit Sub
     
    Err_Commande17_Click:
        MsgBox Err.Description
        Resume Exit_Commande17_Click
     
    End Sub
    Puis dans le contôle "Id-demandes" du Frm_Etat_Commandes"
    Valeur par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![Frm_Demandes]![Id_Demandes]
    Le code que tu m'as donné m'indique que l'Action Rundcommand a été annulée.
    Merci Loufab pour ton aide

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    haaa ok ! Tu es comme ces rideaux qu'on appelle "Occultant"

    Si c'est le formulaire principal qu'il faut sauver utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.parent.dirty = false

  5. #5
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    Non les enregistrements à sauvegarder sont dans le "Frm_Etat_Commande" ouvert depuis le sous formulaire "Frm_Demandes" du "Frm_Agents".
    Je ne sais pas si je suis bien clair.

    En fait, il faut que je coche des cases dans le "Frm_Etat_commande" qui correspondent au données du sous formulaire "frm_demandes" qui correspond à un enregistrement du "Frm_Agents"

    La question y a t-il un code particulier "une condition" pour permettre l'ouverture d'un formulaire depuis un sous formulaire qui se trouve dans un formulaire principal?

    Merci de ton aide

  6. #6
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Juin 2011
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 162
    Points : 248
    Points
    248
    Par défaut
    Bonjour,

    Votre code d'ouverture est bon, par contre la syntaxe de la valeur par défaut me semblerait plus adaptée avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![Frm_Agents]![Frm_Demandes].[Formulaire]![Id_Demandes]
    Bcdt

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Bonjour,

    Il y a quelque chose qui m'échappe dans ton code :

    Ici tu filtres ton appel à l'ouverture de "Frm_Etat_Commande" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        stLinkCriteria = "[Id_Demandes]=" & Me![Id_Demandes]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    Cela veut dire que Id_Demandes existe en tant que clef externe. Puis ensuite tu dis avoir placé un defaultvalue avec cette valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![Frm_Demandes]![Id_Demandes]
    qui comme le dit à juste titre Fbtsra devrait plutôt être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![Frm_Agents]![Frm_Demandes].[Formulaire]![Id_Demandes]
    Pourquoi placer un defaultvalue si la valeur existe comme ton where le laisse supposer ?

    Il y a une logique qui m'échappe.

  8. #8
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    Bonjour et merci de votre aide,
    Le code fonctionne, en revanche quand j'ouvre le "Frm_Etat_Commandes" et que je coche une case, il me dit que je ne peux pas ajouter ou enregistrer car l'enregistrement associé est requis dans la "Tbl_Demandes". Apparemment il faut rafraichir le "Frm_Demandes" pour pourvoir enregistrer les données dans le "Frm_Etat_Commandes". Sûr que quelque chose m'échappe mais quoi?
    En ajoutant un bouton de commande "sauvegarder l'enregistrement dans le "Frm_Demandes"ça fonctionne mais il faut à chaque fois valider le "Frm_Demandes".
    Merci

  9. #9
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    Bonjour à tous, j'ai forcé l'enregistrement sur le bouton de commande du Frm_Demandes avec Une autre question quand il s'agit d'ouvrir un formulaire à partir d'un sous sous formulaire le code est-il le même que celui que vous m'aviez donné

    Exemple : Depuis mon sous formulaire "Frm_Demandes" j'ai un sous sous formulaire "Frm_Equipements" en mode continu avec un bouton de commande pour chaque équipement qui m'ouvre un formulaire images qui correspond a un enregistrement du sous sous formulaire "Frm_équipement"

    J'avais pensé en partant du code que vous m'aviez indiqué écrire comme cela dans le contrôle Id_Equipement du "Frm_Images" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Formulaires]![Frm_Agents]![Frm_Demandes]![Frm_Equipement].[Formulaire]![Id_Equipement]
    Apparemment ça ne fonctionne pas.
    Merci de votre aide

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Bonjour,

    inutile de penser dans ce cas, il faut simplement appliquer.

    Voir mon tuto sur les appels formulaires. ici http://loufab.developpez.com/tutorie...pelformulaire/


    L'ouverture d'un formulaire est identique (F1).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openform "nomduform"
    Ce qui peut changer c'est lors de l'utilisation des options WHERE et FILTER.

    Dans ce cas il faut appliquer ce qui est expliqué dans le tuto.

    Cordialement,

  11. #11
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    Bonjour et merci à Loufab pour sa patience.
    J'ai regardé le tuto qui est très bien fait, le problème c'est que je ne sais pas où mettre le ou les codes, la bonne syntaxe, pour ouvrir mon formulaire depuis le sous sous formulaire sur un enregistrement spécifique.

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Dans le module du soussousform me parait le plus simple. Non ?

  13. #13
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 366
    Points : 122
    Points
    122
    Par défaut
    Mes excuses Loufab, entre mon message et ta réponse j'ai collé dans le contrôle "Id_Equipement" du "Frm-Image" ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires].[Frm_Agents].[Frm_Demandes].[Formulaire].[Frm_Equipement].[Formulaire].[Id_Equipement]
    Issu de ton tuto et ça fonctionne.
    Merci de ton aide et encore bravo pour ton tuto.

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Super ! n'oublie pas le bouton Résolu !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/07/2015, 09h21
  2. Réponses: 4
    Dernier message: 20/05/2015, 13h49
  3. [LibreOffice][Base de données] Ouvrir une application depuis un sous formulaire base
    Par El Bosc dans le forum OpenOffice & LibreOffice
    Réponses: 8
    Dernier message: 11/12/2013, 20h16
  4. [AC-2010] Atteindre sous formulaire depuis un sous formulaire
    Par Phrederik dans le forum IHM
    Réponses: 7
    Dernier message: 19/07/2011, 14h24
  5. Ouvrir un état depuis un sous formulaire
    Par Ryton dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 09h30

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