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 :

Me.Parent avec un sous-formulaire... [AC-2007]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut Me.Parent avec un sous-formulaire...
    Bonjour,

    J'ai un formulaire contenant un sous-formulaire.

    Dans le formulaire, il y a plusieurs tests effectués sur certains champs du formulaire ainsi que du sous-formulaire, ces tests affichent certaines phrases sur le formulaire.

    J'aimerais que lorsque je change une valeur du sous-formulaire, les différents tests se lance automatiquement.

    Car pour le moment, lorsque je change la valeur d'un champ du sous-formulaire, pour actualiser le test, je dois passer à l'enregistrement suivant et puis revenir en arrière.

    Ps : J'ai essayé de mettre dans le champ du sous-formulaire à Après MàJ le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Détail!Info01.Requery
    NB : Détail : nom du formulaire / Info01 : nom du champ texte

    Attention : J'ai mis comme nom du formulaire [Détail], car je ne sais pas ou se trouve le nom du formulaire...

    Mais cela ne fonctionne pas !

    Avez-vous une idée ? Merci d'avance

  2. #2
    Membre habitué Avatar de miamou
    Inscrit en
    Novembre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    remplace ton code par :
    Bon courage

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Merci, mais ou dois-je mettre ce code ? Et sur quelle action ?

    Ps :
    * Si je mets ce code sur Après MàJ du champ sous-formulaire, rien ne se passe !
    * Si je mets ce code sur Si modification du champ sous-formulaire, je ne sais même plus changer la valeur du champ ?

    Ce que j'aimerais, c'est "simplement" que lors de la modification d'une valeur d'un champ du sous-formulaire, cela actualise le formulaire principale.

    Nb : Le fonction 'Actualiser' -> Macro/Bouton, ne fonctionne pas ?!

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Sur Après MàJ du champ sous-formulaire
    Essaie :

    devrait rafraîchir le formulaire (uniquement l'enregistrement en cours

    Avec "Requery", tu rafraîchis la source de données.

    Domi2

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Ne comprend pas cette commande ? Et si je remplace Parent par un de mes champs, il ne reconnait pas non plus Refresh ???

    Et oui, lorsque je mets ce code sur un des champs du formulaire, cela actualise le formulaire, mais en revenant au premier enregistrement ! Lorsque cette commande est mise sur le sous-formulaire, cela ne fait rien, moi, j'aimerais que cela actualise le formulaire à l'enregistrement en cours...
    Merci d'avance pour tes futures lumières :-)

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Tu as bien renseigné les champs père/fils de ton sous-formulaire ?

    Parce que normalement, l'actualisation decrait être automatique. Tu ne devrais pas avoir à la "forcer".

    Domi2

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Dernières nouvelles....

    ne fonctionne pas ! (Placé dans le sous-formulaire, il Refresh le sous-formulaire et non le Parent !!!)

    MAIS...

    fonctionne ! Mais seulement sur les champs du formulaire principal, ne fonctionne pas sur les champs du sous-formulaire (il actualise peut-être le sous-formulaire, mais moi j'aimerais qu'il actualise le formulaire)

    Comment modifier le code pour qu'il fonctionne sur le formulaire principale ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Je viens de tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Encodage Affiliations Brut].Refresh
    En : Après Màj et Sur sortie, rien ne fonctionne !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Encodage Affiliations Brut]![Détail].Refresh
    J'ai aussi essayé en ajoutant la fenêtre Détail, mais rien ne fonctionne !

    Comment dire à un sous-formulaire d'actualiser le formulaire qu'il le contient ! Mes nerfs ;-)

  9. #9
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tu as bien renseigné les champs père/fils de ton sous-formulaire ?
    As-tu vérifié ?

    Domi2

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Au sujet des champs père/fils,

    Avec Access 2003, il y avait l'option "champs père/fils", que je ne trouve pas Access 2007 !

    Sais-tu me dire ou se trouve cette option ?

    Ps : Lors de l'insertion du sous-formulaire dans le formulaire principal, je crois qu'une fenêtre apparaît pour pouvoir choisir, mais après ? Comment y retourner ?

    J'AI TROUVE L'OPTION (champs père/fils)!!!!!!!!!!!!!!!

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Info...

    Lorsque je rentre le code après Me., apparaît une liste avec différentes possibilités pour la suite.

    Lorsque je suis dans le formulaire principal, dans cette fameuse liste apparaît bien le sous-formulaire (nom), que je peux donc choisir et y ajouter .Refresh

    MAIS

    Lorsque je suis dans le sous-formulaire, le formulaire (nom), n'apparaît pas dans la liste, Pourquoi ?!

  12. #12
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    "Me" fait référence à l'objet actif.

    Dans la complétion, tu auras par exemple le nom d'un contrôle contenu dans le formuaire ou une méthode qui s'y rapporte. Mais tu n'y retrouveras pas le nom d'un autre formulaire ou état, par exemple.

    Le sous-formulaire étant un contrôle du formulaire, il est disponible à la complétion. A l'inverse, depuis le sous-formulaire, tu dois utiliser :

    pour faire référence au formulaire qui le contient.

    Et tu n'as toujours pas répondu à la question...

    Domi2

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Désolé... à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tu as bien renseigné les champs père/fils de ton sous-formulaire ?
    La réponse est oui... :-)

    Ok pour Me.Parent, mais après... je test un truc et je te dis quoi :-)

    EDIT :

    Lorsque je tape : Me.Parent, j'ai un message d'erreur !?

    Je viens de tester cela, mais non...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Parent![Encodage Affiliations Brut] = Me.Refresh
    NB :
    * Encodage Affiliations Brut = Nom de mon formulaire (reprenant donc le sous-formulaire !)

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Lorsque je rentre ce code sur mon Champ/Après MàJ (sous-formulaire), c'est le sous-formulaire qui Refresh ?????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Parent![Encodage Affiliations Brut].Refresh
    NB :
    * Encodage Affiliations Brut = Nom de mon formulaire (reprenant donc le sous-formulaire !)

  15. #15
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Tu pourrais mettre une version allégée de ta base en pièce jointe ?

    Domi2

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Explications...

    Jours
    * Si 1 pour "Lundi" => Info03 : Lundi Ok
    * Si pas 1 => Problème

    Jours2
    * Si "Lundi" => Info04 : "Lundi Ok"
    * Si pas "Lundi => Problème

    Lorsque je change Jours ou Jours2, cela Refresh automatiquement Info03 et Info04

    Montant
    * Si le montant de la dernière ligne encodé dans le sous-formulaire est >20 => Info01 : Plus Grand que 20
    * Si <20 => Info01 : Plus Petit que 20

    Date
    * Si la date est 2010 => Info02 : Ok 2010
    * Si pas 2010 => Problème

    Lorsque je change le montant ou la date du dernier enregistrement, cela NE REFRESH PAS automatiquement Info01 et Info 02…

    Et j'aimerais que cela se fasse…

    Info : ne fonctionne pas !

    Ps : J'aimerais aussi, mas je ne sais pas si cela est possible, c'est que lorsque je choisi un autre enregistrement du sous-formulaire par simple clic, cela Refresh aussi Info01 et Info02…

    Merci d'avance pour vos lumières
    Fichiers attachés Fichiers attachés

  17. #17
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Evidemment, je pensais qu'il s'agissait de simples champs calculés...

    Il faut certainement tout coder.

    Je vais essayer de regarder.

    Domi2

  18. #18
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Dans l'événement Sur activation du sous-formulaire, tu colles 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
    17
    18
    19
    20
    21
    22
    23
    Private Sub Form_Current()
     
        If Me.MONTANT.Value > 20 Then
     
            Me.Parent.Info01.Value = "Plus grand que 20"
     
        Else
     
            Me.Parent.Info01.Value = "Plus petit que 20"
     
        End If
     
        If Me.Année.Value = 5 Then
     
            Me.Parent.Info02.Value = "Ok 2010"
     
        Else
     
            Me.Parent.Info02.Value = "Problème !!!"
     
        End If
     
    End Sub
    Dans le code du formulaire, tu peux supprimer les 2 mises à jour correspondantes.

    Ca fait plus ou moins ce que tu veux ?

    Question subsidaire : quand le montant est égal à 20 ???

    Domi2

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 492
    Points : 166
    Points
    166
    Par défaut
    Merci, je regarde...

    Pour ce qui est de ta question subsidiaire... c'est juste un exemple pour donner une idée de mon problème ;-)

    A bientôt

    EDIT :

    Super, il ne me reste plus qu'à tester sur mes formulaires, je te tiens au courant ! Encore merci !

    RE EDIT :

    Et bien cela fonctionne super bien, grand merci !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/04/2006, 17h04
  2. Recherche avec un sous-formulaire
    Par AikiNoodles dans le forum IHM
    Réponses: 6
    Dernier message: 17/03/2006, 16h11
  3. Réponses: 8
    Dernier message: 09/03/2006, 13h49
  4. Problème de sub avec un sous formulaire
    Par SpyesX dans le forum Access
    Réponses: 5
    Dernier message: 08/03/2006, 01h27
  5. Réponses: 2
    Dernier message: 28/09/2005, 18h08

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