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 :

MàJ d'un champ qd modif d'un champ dans sous-formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut MàJ d'un champ qd modif d'un champ dans sous-formulaire
    Bonjour tout le monde,

    J'aimerais mettre à jour le champ du formulaire après modification d'un des champs de son sous-formulaire (fils). J'aimerais savoir quel code me permettrait de faire ça.

    D'avance merci beaucoup pour votre aide.

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Sur l'événement onchange() d'un contrôle du sous-formulaire modifie le formulaire en conséquent.

    Tu trouveras dans la FAQ comment atteindre le contrôle d'un autre formulaire afin d'accéder à son contenu ou bien encore le modifier.
    J'aime les gâteaux.

  3. #3
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Merci.

    Bon, j'ai essayer en m'aidant de la FAQ et de l'aide d'Access mais étant un méga-newbie je n'y suis pas arrivé...
    Personne n'aurait un exemple de code pour m'aider un peu plus ?

    Je précise que le champ du formulaire à mettre à jour est un champ calculé à partir d'un champ des sous-formulaires. C'est pourquoi j'aimerais qu'après mise à jour de ce dernier, la valeur du champ calculé du formulaire père se rafraichisse.

  4. #4
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Bon, je me suis tapé plein de FAQ et de tuto depuis hier et même si j'ai compris pas mal de trucs, il reste toujours des zones sombres...

    Enfin bref, je n'arrive toujours pas à résoudre mon problème et les délais qu'on me demande commencent à me poser soucis !

    Si vous pouviez m'aidé en me donnant le code dont j'ai besion ce serait super !

    Je réexplique mon problème plus en détail :
    Après toute modification du champ "Facture indemnité" du sous-formulaire frmConfigurationEtudeEtVisites_sub
    J'aimerais que le champ "Indemnités calculées" du formulaire frmConfigurationEtudeEtVisites soit mis à jour. Celui-ci est en fait la somme des champs "Facture indemnité" (calculé grace à une requête : qrySumIndemnitéParEtude)

    Voilà ce que j'ai fait un peu à taton, mais évidemment ça ne fonctionne pas !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Facture_indemnité_AfterUpdate()
     
        DoCmd.Requery frmConfigurationEtudeEtVisites
     
    End Sub
    D'avance merci !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    il me semble que pour faire ça j'avais fait un truc du genre :

    1 - dans le sous form créer un champ calculé correspondant à la valeur que l'on veut sortir de ce sous form en fonction de ses enregistrements

    2 - créer un champ "tampon" dans le form père (qu'on rendra invisible) et qui sert juste à contenir la valeur du champ calcul du sous form (Me.Champ1 = Le sous form.champ2 voir la syntaxe exacte mais c'est simple). Tu peux le mettre dans l'ordre tabulation juste après le sous form comme ça dès que tu sors de ton sous form (créer un bouton qui fasse revenir au form père) le champ tampon se met à jour.

    3 - me servir de ce champ tampon pour effectuer la mise à jour du champ calculé du form père avec la formule que l'on veut Me.champcalculépère = Me.tampon + Me.prix par exemple

    si tu rends le tampon invisible et que tu ne lui attribue pas darrêt tabulation il passe inapperçu

    cette solution évite d'avoir à manipuler des formules d'un form à un autre puisque le tampon est simplement = à un autre champ.

    a+

  6. #6
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Ca y est !!
    J'ai fait ça, tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Compare Database
     
    Private Sub Facture_indemnité_AfterUpdate()
     
        Forms("frmConfigurationEtudeEtVisites").Requery
     
    End Sub
    Ben oui, c'était pas bien dur, mais à force j'y suis arrivé !

    En tout cas merci pour vos fabuleux tuto et FAQ... J'ai eu (et j'ai toujours) du mal à m'en sortir et tout comprendre, mais à force de lire autant de chose et d'essayer, j'y suis parvenu !
    Il faut savoir que je n'ai aucune notion de programmation objet, d'où la difficulté pour moi de comprendre tout ça.

    martonpylon12, je n'ai du coup, pas essayer ta méthode... Mais merci quand même. Ca me parait néanmoins un peu lourd, non ?
    Enfin j'ai dû très mal m'exprimer pour vous expliquer mon problème.

    EDIT : avant de mettre [Résolu] j'ai un petit problème, c'est que mon curseur remonte au premier champ du formulaire père au lieu de continuer son "chemin". Avez vous une méthode pour garder sa position en mémoire et le positionner sur le champ suivant après la mise à jour ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Docmd.Gotocontrol.TonChamp

    a+

    ps : effectivement ma méthode était très lourde mais comme je ne connais pas le code, je me débrouille et quand ça marche ça me prend moins de temps que de chercher 5 jours une autre solution

    a+

  8. #8
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par martonpylon12
    Docmd.Gotocontrol.TonChamp

    a+

    ps : effectivement ma méthode était très lourde mais comme je ne connais pas le code, je me débrouille et quand ça marche ça me prend moins de temps que de chercher 5 jours une autre solution

    a+
    Oui, c'est bien joué. Je n'y avais pas pensé !

    Sinon pour Docmd.Gotocontrol.TonChamp le problème c'est que je n'arrive pas à récupérer le bon champ !
    J'ai fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Facture_indemnité_AfterUpdate()
     
        Dim recordnum As Long
     
        recordnum = Form.CurrentRecord
     
        Forms("frmConfigurationEtudeEtVisites").Requery
        DoCmd.GoToRecord , , recordnum
     
    End Sub

  9. #9
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Citation Envoyé par Fend
    En tout cas merci pour vos fabuleux tuto et FAQ... J'ai eu (et j'ai toujours) du mal à m'en sortir et tout comprendre
    Quand tu as des zones d'ombre pour la FAQ n'hésite pas à me le faire savoir par message privé, ainsi je pourrai tenter de le rendre plus clair lors d'une prochaine mise à jour. Ce sera bénéfique pour tous
    J'aime les gâteaux.

  10. #10
    Membre à l'essai
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Ok, j'y penserais. Mais en fait ce qu'il m'a manqué, c'est un tuto d'initiation à VB (parce que le Basic c'est pas la même chose) et à la programmation objet.
    Là je me suis directement plongé dans "Définition et manipulation de données avec DAO" et dans les FAQ Access... Et ça demande un minimum de connaisances pour bien tout comprendre !

    Sinon, pour mon problème, comment récupérer la position du "curseur" dans la variable ? (Sachant qu'il sera dans le sous-formulaire au moment de l'exécution du code.)
    Est-ce que je peux ensuite incrémenter cette position en faisant +1 ?

    EDIT : Bon je créé un nouveau topic pour mon problème de focus.
    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/04/2007, 10h13
  2. Réponses: 3
    Dernier message: 31/07/2006, 18h25
  3. Modification d'un contrôle de sous formulaire
    Par Ulyssimo dans le forum Access
    Réponses: 3
    Dernier message: 23/05/2006, 17h38
  4. Champ indépendant dans sous-formulaire
    Par lito74 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 16h57
  5. Pb champ calcule dans sous formulaire
    Par Brial dans le forum Access
    Réponses: 6
    Dernier message: 12/11/2005, 18h33

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