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

Access Discussion :

Ouvrir Form depuis SousForm selon Id


Sujet :

Access

  1. #1
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut Ouvrir Form depuis SousForm selon Id
    Slt,
    Question bète :
    Je n'arrive a mettre en place un code qui ouvre un formulaire depuis mon sous formulaire !
    Depuis le formulaire principal tout va bien, mais depuis le sous formulaire le formulaire ne s'ouvre pas sur l'enregistrement selectionné ...
    Pourtant code simple !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_RappelTéléphonique", acNormal, , "[IdAppel]=" & Me![IdAppel]
    Depuis le formulaire c'est (sur bouton)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "F_SuiteAppelInfoProspect"
     
        stLinkCriteria = "[IdAppel]=" & Me![RécupIdAppel]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    RécupIdAppel étant IdAppel de mon sousformulaire
    Et même sur bouton du sousformulaire ça marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "F_SuiteAppelInfoProspect"
     
        stLinkCriteria = "[IdAppel]=" & Me![IdAppel]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    le formulaire ne s'ouvre pas sur l'enregistrement IdAppel???
    J'avoue que j'y comprend rien !!
    Car il faut que j'ouvre ce formulaire sur AftreMaj d'une liste déroulante du sousformulaire !!!
    Je ne vois vraiment pas ce qui cloche???
    Quelqu'un a une idée??
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Tu as essayé d'ajouter un DEbug.Print ou un msgBox sur Me.IdAppel, pour voir sa valeur?

    Bonne chance,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt pgz,
    Oui et la valeur est Null !!
    C'est ce que je ne comprend pas !!!
    Car l'IdAppel est bien là !!!
    Et cela fonctionne quand j'appele le form depuis le form principal !!
    Même en utilisant l'assistant pour créer un bouton d'ouverture de formulaire depuis mon sousformulaire, cela ne fonctionne pas???
    Tout du moins le formulaire s'ouvre mais pas filtré sur le bon enregistrement !!
    Comme si le code ne tenait pas compte de l'IdAppel du sousformulaire??
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Et donc sur ton contrôle IdAppel( liste de choix?) tu sélectionnes une valeur, tu la vois. Et quand tu appuies sur ta commande, la valeur lue = null! et ensuite la valeur est toujours affichée dans ton contrôle IdValeur?

    A+

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    j'essaye de comprendre et je ne comprends rien.
    Peux tu nous dire comment sont imbriqués tes formulaires et sous formulaire, ce sera ensuite plus simple à t'aider.

    Que veux dire
    Depuis le formulaire c'est (sur bouton)
    le dit formulaire doit-il s'ouvrir après Afterupdate de quoi et pourquoi
    A+

  6. #6
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Heu, Je vais tacher de bien m'exprimer
    Mon SF est basé sur ma T_Appel
    Je rempli Plusieurs champs de ma T_Appel (donc j'ai créé à ce moment une nouvel ligne dans la T_Appel), puis j'arrive sur ma liste déroulante
    Ma liste déroulante est indépendante avec du texte !
    Selon un choix, j'ouvre un autre formulaire qui doit etre filtré sur l'IdAppel que je viens donc de créer dans le sousformulaire!
    Quand je fais un débug.print avec point d'arrêt à ce moment la valeur est null !!! ??? !!!
    Par contre quand j'execute le m^me type de code depuis le formulaire principal ( mais cette fois-ci je récupère l'IdAppel dans RécupIdAppel (champIndépendant)) et j'execute depuis un bouton, juste pour voir si ça marche!!
    Pas de problème mon F_SuiteAppelInfoProspect s'ouvre filtré sur le bon enregistrement !
    Mais depuis le sousformulaire pas moyen
    C'est comme si le code n'arrivait pas à "lire" IdAppel dans le sousformulaire ???
    Car si j'utilise l'assistant Accèss pour qu'il me crée un bouton, dans le même style que celui du Formulaire principal, dans le sousformulaire, le F_SuiteAppelInfoProspect ne s'ouvre pas filtré !!!!
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  7. #7
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Comme tu l'expliques c'est au moment ou tu rajoute une"ligne" c'est à dire un enregistrement. Or tant que tu n'as pas fait un update je pense que ton ID_Appel n'est pas disponible. Il te faut donc mettre à jour puis lancer ton formulaire.

    tu écris
    Je rempli Plusieurs champs de ma T_Appel (donc j'ai créé à ce moment une nouvel ligne dans la T_Appel), puis j'arrive sur ma liste déroulante
    Ma liste déroulante est indépendante avec du texte !
    Selon un choix, j'ouvre un autre formulaire qui doit etre filtré sur l'IdAppel que je viens donc de créer dans le sousformulaire
    ta liste déroulante est indépendante dans ton sous formulaire. Donc lorsque tu la renseignes elle ne crée pas d'enregistrement dans le sous formulaire. donc ID_appel est null.

    A+

  8. #8
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    Ben je ne suis pas pro mais les premiers champs renseignés sont basé sur le table donc quand je renseigne le premier champ, apparait le N° IdAppel !!!
    Donc l'enregistrement est créé dans la table ! non?
    De plus L'IdAppel est "repiqué" pour etre mis dans RécupIdAppel du formulaire principal et je vois bien que dès le pemier enregistrement il a bien une valeur !!!
    Ce qui me permet d'ailleurs de faire fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim stDocName As String 
        Dim stLinkCriteria As String 
     
        stDocName = "F_SuiteAppelInfoProspect" 
     
        stLinkCriteria = "[IdAppel]=" & Me![RécupIdAppel] 
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    et qui fonctionne !!!!!!
    Pourquoi ça marche pas depuis le SF sachant que l'IdAppel à ce moment, a bien une valeur JE L'A VOIS !!!
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  9. #9
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Quel est le nom de la zone de texte qui contient IDAppel dans ton sous-formulaire?

  10. #10
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    IdAppel ! c'est le nom du champ de la T_Appel
    N°Auto Clef Primaire
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  11. #11
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    peux tu nous faire une copie d'écran en mode modification de ton formulaire avec le sous formulaire.

    Il y a un truc que j'ai de la pein à comprendre c'est le lien entre le formulaire principal et le sous formulaire.
    D'autre part lorsque tu crées un enregistrement tu ne peux pas utiliser les valeurs des champs (même si tu les vois à l'écran) tant que l'enregistrement n'a pas été updaté

    essaie de faire la chose suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim stDocName As String 
            DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
     
        Dim stLinkCriteria As String 
     
        stDocName = "F_SuiteAppelInfoProspect" 
     
        stLinkCriteria = "[IdAppel]=" & Me![IdAppel] 
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    A+

  12. #12
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    le lien entre les deux est L'IdProspect !
    Ma T_Appel est faite de la façon suivante :
    IdAppel-->NumAutoClef
    IdProspect--->Numérique
    Etc....

    Mon form est appelé filtré sur un Prospect
    Donc j'ai son Id et c'est le champPère/..
    ChampFils est IdProspect de la T_Appel !!

    Mais je te remercie !!!
    Tu avais RAISON !!!
    Il fallait bien passer par
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    ça marche nickel maintenant !!
    Je pensais que le visu du NuméroAuto de la T_Appel suffisait pour que l'enregistrement existe dans la table et pouvoir le réutiliser....
    Merci Alexandre Sahli de ta patience !!
    @+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  13. #13
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Milles excuses mais j'ai enlevé le car en fait, j'ai un souci !!
    Je ne comprend pas mais pour que l'evènement se passe bien il faut que je click en dehors de ma liste déroulante et ensuite quand je reviens dessus, pas de problème le formulaire s'ouvre sur le bon enregistrement !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Phrase3Réponse_AfterUpdate()
    If ((Me.Phrase3Réponse) = "Oui") Then
       Me.DébutEtapeQuestionnaire = Now
       DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
     
        DoCmd.RunSQL "INSERT INTO T_InfoProspect ( IdProspect, IdAppel )SELECT Forms!F_DébutCommunication!N°Prospect, Forms!F_DébutCommunication!SF_PriseAppel.Form!IdAppel"
            DoCmd.OpenForm "F_InfoProspect", acNormal, , "[IdProspect]=" & Me![IdProspect]
    Si je ne passe pas par cliquer à coté l'enregistrement s'ouvre sur l'IDProspect sans problème mais pas avec l'IdAppel qui est vitale pour moi car je modifie des informations de la T_Appel !!!
    Donc si mon formulaire ne s'ouvre pas avec ces 2 informations je ne peux pas faire de modif sur la T_Appel !!
    Pourquoi faut-il que je clik à coté de maliste manuellement pour que cet enchainement fonctionne????????????
    Ps: J'ai fait 142 essais et à chaque fois c'est pareil !!!!
    Je click a coté avant ça marche, je click pas ça marche pas !!!!!!!!
    Ps: toutes mes listes déroulantes sont "programées" les une après les autres sur afterMAj
    (Me.malistesuivante.setfocus---Me.malistesuivante.dropdown; etc...)
    Que faut-il faire????
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

Discussions similaires

  1. Ouvrir un Form depuis Form pricipal
    Par nima.ly dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/02/2010, 22h36
  2. Ouvrir un Form depuis Form1
    Par Arthur59 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/01/2010, 21h46
  3. Ouvrir Form depuis variable
    Par fxbrg dans le forum Windows Forms
    Réponses: 12
    Dernier message: 07/04/2009, 12h29
  4. Ouvrir word depuis une form
    Par cyberma dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/03/2007, 14h34
  5. Ouvrir une form depuis une class
    Par totoche dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 01/09/2006, 11h13

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