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 :

[formulaire] Mise à jour d'un sous formulaire


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut [formulaire] Mise à jour d'un sous formulaire
    Bonjour,

    1. Contexte
    J'utilise Access 2002 et ma base de données est au format 2000.
    J'ai créé un formulaire pour rendre mes requêtes plus agréable, c'est à dire qu'il s'agit d'un formulaire de consultation et pas de saisie.

    je suis partie du tutoriel "Recherche multi-critère" qui permet d'afficher les résultats dans une liste, mais ce format ne me convient pas, car il n'est pas possible de faire des copier-coller de toute la ligne. Donc j'ai choisi d'inclure un sous formulaire en mode feuille de données pour manipuler plus facilement mes résultats.

    2. Problème
    J'arrive à générer ma requête sans problème, elle se met bien à jour avec mes nouveaux critères. Le sous formulaire pointe bien vers cette requête, mais je n'arrive pas à le mettre à jour.
    J'ai essayé d'utiliser des choses comme Requery, Refresh ou Repaint. En les applicant au formulaire principal, au sous formulaire ou à la requête, mais rien n'y fait, il refuse de se mettre à jour.
    J'ai lu quelque part qu'access était un peu capricieux avec Requery, existe-t-il une solution qui marche à tous les coups et qui soit élégante?

    Merci pour vos réponses
    Virginie

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    As tu essayé de mettre ceci dans l'évènement "Sur Activation" du sous formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Parent![NomSousFormulaire].Requery

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Je viens d'essayer. ça mouline, c'est à dire qu'on sent bien que l'action s'effectue, mais après l'affichage ne change pas.

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Quel évènement fait que tu pourrrais mettre à jour les données de ton sous formulaire ?? (une sélection dans une liste, un clic sur un bouton... etc)
    Si c'est un bouton : tu pourrais insérer le code que je t'ai donné pour forcer la mise à jour du sous formulaire.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    c'est par là que j'avais commencé.
    la requête s'effectue mais le formulaire n'est pas rechargé.

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    As tu essayé de compacter et réparer la base ainsi que de refaire le formulaire de a à z ???

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    j'ai oublié de préciser un truc dans mon contexte : je débute avec access.
    Qu'est ce que ça veut dire compacter et réparer?
    par contre j'ai essayé plusieurs fois d'enlever mon sous formulaire et de l'inclure avec plusieurs méthodes, mais le résultat est toujours le même.

    Merci pour le temps que tu prends à me répondre.

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Qu'est ce que ça veut dire compacter et réparer?
    Dans le menu outils-->Utilitaires de base de données --> compacter, réparer.
    Parfois (souvent ), il est utile de le faire.
    Merci pour le temps que tu prends à me répondre.
    Np

    par contre je ne comprends pas trop pourquoi le ss formulaire ne veut pas se rafraichir...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    J'ai compacté, pas d'amélioration.

    Par contre le fait que tu ne trouves pas la solution ne m'étonne pas, c'est pas pour me vanter ou critiquer le forum, mais à chaque fois que je pose une question y'a pas de solution car je tombe toujours sur les bugs du système.
    (et en général avant de poser une question j'ai fait au moins deux jours de recherche (en particulier sur developpez.com) et de test sur la question).

    Ah, et j'ai oublié de préciser que mes deux formulaires sont totalement indépendants. Dans le formulaire principal on trouve des choix d'option qui servent à générer une nouvelle requête qui elle est la base du sous formulaire. Je sais pas si ça change quelque chose...

  10. #10
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    virginie2 a écrit:
    Par contre le fait que tu ne trouves pas la solution ne m'étonne pas, c'est pas pour me vanter ou critiquer le forum, mais à chaque fois que je pose une question y'a pas de solution car je tombe toujours sur les bugs du système.
    En général les gens posent mal ou de façon incomplète leur pb.La preuve avec toi:
    1/
    j'ai oublié de préciser un truc dans mon contexte ...
    2/
    Ah, et j'ai oublié de préciser que ...
    Et puis
    ...y'a pas de solution car je tombe toujours sur les bugs du système.
    comment le sais tu puisque:
    je débute avec access.
    @+

  11. #11
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pour ma part, j'avais eu le même problème et la solution que j'ai trouvé était de passer par des modules et d'appeler le module dans mon formulaire. Il me suffisait de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Forms!Formulaire1.Refresh
    Forms!Formulaire1.Requery
    Forms!Formulaire1.Refresh
    Et cela fonctionne à merveille, essaie pour voir si cela convient dans ton cas.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  12. #12
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    je ne sais pas si tu as eu le temps de tester la solution de zoom...

    Citation Envoyé par virginie2
    mes deux formulaires sont totalement indépendants. Dans le formulaire principal on trouve des choix d'option qui servent à générer une nouvelle requête qui elle est la base du sous formulaire. Je sais pas si ça change quelque chose...
    Ce qui change c'est que lorsque tu veux mettre à jour les données de ton sous formulaire tu dois bien faire une action quelconque (clic sur un bouton par exemple) comme je te l'ai suggéré dans un post précédent.

    1) tu choisis tes critères
    2) tu fais une action (clic sur bouton)
    3) création de la requête
    4) affichage du résultat dans le sous formulaire
    C'est donc à l'étape 4 que doit se trouver le code pour rafraichir le formulaire, etape qui doit être appelée comme la 3 d'une manière quelconque que tu ne nous as pas indiqué. (J'ai la forte intuision que c'est un bouton... j'ai à peine survolé le tuto de cafeine... désolé le ferait plus !!!!)

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Effectivement, j'utilise des boutons pour créer ma requête.
    Le click sur le bouton appelle une fonction dans un module qui génére la requête et ensuite j'ai essayé tout un tas de "formulaire.requery" et "formulaire.refresh". En les mettant à la fin dans la même fonction que celle qui génére la requête, en les mettant sous un autre bouton rien n'y fait.

    J'ai essayé les syntaxes suivantes pour appeler le sous formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Forms!Form1!SousForm.Requery
    Me.SousForm.Requery
    Me.form(SousForm).Requery
    Me.form("SousForm").Requery
    A noter, il n'est pas possible de faire un Refresh sur un sous formulaire.
    J'ai evidement essayé la solution de zoom61, sur le formulaire principal, sur le sous formulaire.
    Et bien sur : ça ne change rien.

    Pour ceux qui pense que je ne formule pas bien mon problème (à noter que c'est pas exclu), j'avais écrit :
    J'ai essayé d'utiliser des choses comme Requery, Refresh ou Repaint. En les applicant au formulaire principal, au sous formulaire ou à la requête, mais rien n'y fait, il refuse de se mettre à jour.
    Donc je repose ma question :
    Existe-t-il une autre solution pour mettre à jour un sous-formulaire?

    Merci quand même d'avoir essayé.
    J'ai une autre solution pour remplir la fonction, mais je la trouve moins jolie : ouvrir un nouveau formulaire avec le résultat de la requête indépendant du premier.

    Virginie

  14. #14
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    on va essayer autre chose... (si tu veux bien)
    Quand tu créés ton sous formulaire : laisse la source vide. (formulaire indépendant donc)
    Et quand tu cliques sur le fameux bouton, affectes à ton sous formulaire la requete comme source.
    Avec il me semble :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SousForm.RecordSource = "NomRequete"

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 25
    Points
    25
    Par défaut

    Ca marche !!!!

    pas tout à fait comme tu l'as proposé (la propriété RecordSource n'existe pas pour un sous-formulaire) car en fait j'avais déjà essayé cette solution.
    La bonne propriété est SourceObject, je l'avais essayé aussi mais avec une mauvaise syntaxe.

    Voici donc la bonne syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ssForm.SourceObject="NomRequete"
    un grand à toi Kikof.

    Et joyeux Noël à tout le monde.
    Virginie

  16. #16
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Joyeux Noël à toi aussi

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/09/2007, 13h23
  2. Réponses: 4
    Dernier message: 12/04/2007, 16h04
  3. Mise à jour table à partir sous-formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 6
    Dernier message: 19/05/2006, 09h26
  4. Mise à jour table liée à à sous formulaire
    Par Michel DELAVAL dans le forum Access
    Réponses: 1
    Dernier message: 15/04/2006, 16h26
  5. Mise à jour d'un sous formulaire
    Par tsyfar dans le forum Access
    Réponses: 4
    Dernier message: 31/01/2006, 11h41

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