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 :

actualisation d'un formulaire continu


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut actualisation d'un formulaire continu
    Bonjour,

    Je me permets de poster encore un post...

    J'aurais besoin d'une petite explication concernant les enregistrements dans un formulaire continu.

    Ma situation.

    Un formulaire composé d'un sous formulaire continu. j'ai des engeistrements qui s'ajoute via une requete ajout dans une table et qui sont automatiquement affiché dans le form continu. ces enregistrements sont propre a un ID (un dossier). relation père fils (sur ID du dossier)

    Lorsqu'un nouveau dossier est sélectionné, de nouveaux enregistrements qui correspondent au nouveau dossier se créer dans la table (basé sur l'Id du nouveau dossier). le problème c'est que le sous formulaire continu ne se met pas à jour. ce sont les enregistrements du dossier précédent qui reste affiché.

    Lorsque j'ouvre mon sous formulaire directement je vois bien tous les enregistrements (c'est à dire de l'ancien dossier et du nouveau dossier)
    mais lorque j'effectue la manipulation comme un personne qui utilisera l'application devra le faire, j'ai les mauvais enregistrements affiché

    je n'arrive pas donc à actualiser mon sous formulaire, à faire en sorte que se soit les bon enregistrements qui s'affiche...

    j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private sub Form_Close()
    Me.[monsousformulaire].requery
    docmd.requery
    mais je ne suis pas sur que ce soit cela.

    Si quelqu'un à une idée, je suis preneur (encore faut -il que mon explication soit compréhensible...)

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,
    la bonne syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[monsousformulaire].Form.requery

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Merci pour ta réponse

    Le problème ne doit pas venir de la en faite. j'ai testé ta ligne sur un évènement bouton, sur activation rien ne se passe.

    Pour appeler mon formulaire j'ai ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub controlebegin_Click()
    DoCmd.Hourglass True
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "requeteajoutIDctrldossier"
    DoCmd.SetWarnings True
    DoCmd.OpenForm "FormA"
    DoCmd.Close acForm, Me.Name
    DoCmd.Hourglass False
    End Sub

    je me demande donc si ce n'est pas soit un problème au niveau de l'ouverture du formulaire ( problème dans le code si dessus) , un problème au niveau de ma relation père fils ( j'ai pourtant vérifié et normalement il n'y a pas de problème à ce niveau la) ou la ligne de code destiné à rafraichir la requete du sous form qui ne fonctionne pas...

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Résumons.

    Tu as un formulaire principal « FormA »
    Il contient un sous-formulaire en continu « monsousformulaire » avec une coordination Pères/fils.
    Juste avant d’ouvrir FormA, tu exécutes une requête « requeteajoutIDctrldossier »
    Que fait cette requête ?
    Si elle met à jour la source de « monsousformulaire », puisque l’ouverture de FormA intervient après cette mise à jour, pas besoin de Refresh.
    Si tu ne vois pas les effets de « requeteajoutIDctrldossier », c’est qu’elle s’est mal déroulée.
    Dans to code remplace temporairement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.SetWarnings False
    par , tu verras alors les messages d’exécution.

    Pour le refresh éventuellement nécessaire, je maintiens la syntaxe de ma réponse précédente.
    A associer par exemple à un bouton situé dans le principal.
    Pas de sens de placer cette instruction dans "sur activation", le refresh se fait d'office.

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Tu viens de me mettre sur un piste...

    En effet ma requete fonctionne mal mais si elle fonctionne quand même à un certain niveau.



    Cette requete est une requete ajout. Elle a pour but d'ajouter dans T_resultatcontrole des "libellépointdecontrole" en fonction d'un IDcontrole dossier.
    Chaque libellé est unique et correspond à deux valeurs précises (droit propre ou dérivé ; artisan ou commercant). Lorsque dans un form la personne choisi le type de droit et le type de statut, les libellés qui correspondent sont ajouté.

    Dans matable T_resultatcontrole j'ai donc un IDcontroledossier qui correspond au dossier en cour et tous les libellés (IDlibPtCtrl) qui s'y rattache. dans ma table T_controle j'ai ce fameux IDcontroledossier.

    C'est un peu compliqué je sais quand on est extérieur et le but n'est pas de comprendre l'ensemble....

    lancement de l'appli --> dossier sélectionné(IDdossier)--> creation d'un IDcontroledossier(auto)-->choixdesvaleur(droit+statut)-->requeteajout--->ouvertureduformA

    Ce qui se passe c'est que cette requete ajout, souhaite ajouter tous les IDcontrolledossier qui on été créés. Seul ceux qui n'ont pas été créé s'ajoute. (le dossier en cour), j'ai dc un message d'erreur pour les autres...

    Je voudrais donc que seul le IDcontroledossier en cour soit pris en compte et non l'ensemble.


    Bref c'est pas très clair ce que je dis et je m'en rend compte... Si tu arrives à comprendre on peut dire que j'ai de la chance. Je continue dans tt les cas essayer de trouver une solution.

    merci quand même

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bref c'est pas très clair ce que je dis et je m'en rend compte
    C'est déjà ça !

    Je voudrais donc que seul le IDcontroledossier en cours soit pris en compte et non l'ensemble
    Dans ta requête de mise à jour, ne peux-tu pas exprimer :

    Mettre à jour si IDcontroledossier=IDcontroledossier en cours ?

    De toutes façons, si tu as de la chance et que j'ai bien compris, ça n'a pas d'importance, puisque les autres sont refusés. Ce n'est pas propre mais cela ne gêne personne. (docmd.setwarnings = false).
    Ce n'est donc pas l'origine de ton problème.

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Oui finalement c'est vrai ce n'est pas le fond du problème...

    Je n'ai pas de requête mise à jour, juste une requête ajout... et le problème vient peut être de la...

    Donc au final juste après ma requête ajout je met une requête mise à jour et ca devrait être bon... (enfin j'espère).

    Sachant que mes libellés créés se trouve quand même dans le sous formulaire (je les voient tous lorsque je l'ouvre directement et non via le form A). Le problème est que l'IDcontroledossier ne change pas. C'est la relation père/fils qui donne "l'ordre d'afficher" les libellés. j'ai peut être zappé qqch à ce niveau là. ma relation est : IDcontroledossier de T_controle (père) et IDcontroledossier de T_resultatcontrole (fils). Le problème serait donc que l'IDcontroledossier (T_controle) en source du Form A ne dit pas au "fils" que l'ID est different...

    La requête mise à jour serait donc la solution idéale ???

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour Chagui,

    Désolé j'ai autre chose hier soir.

    Dans ta requête de mise à jour, ne peux-tu pas exprimer ...
    Je voulais simplement dire : quand tu modifies. Peu importe qu'il s'agisse d'une requête qui ajoute un enregistrement ou d'un requête qui modifie un enregistrement.
    De toutes façons, le problème n'est pas là.
    La requête mise à jour serait donc la solution idéale ???
    Rien à voir.

    Si tu as un résultat que tu dis correct lorsque tu ouvres ton sous-formulaire individuellement et que ce résultat n'est plus le même via le formulaire principal, il faut chercher du côté de ta coordination pères / fils.
    IDcontroledossier de T_controle (père) et IDcontroledossier de T_resultatcontrole (fils).
    L'un ne reconnait pas l'autre : peut-être un espace, ou quelque chose qui échappe à ton oeil.
    Je veux bien regarder avec toi si tu postes un DB compatible Access2000.
    Allez tu progresses.

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Merci beaucoup ClaudeLELOUP, rien que pour l'aide que tu donnes à beaucoup de monde. c'est vraiment appréciable !!!

    Concernant mon problème, il ne sera plus necessaire de le résoudre car je pars sur autre chose en raison d'une obligation au niveau de mon cahier des charges. Je dois pouvoir absolument personnalisé le verouillage des cases à cocher en fonction de chaque ligne. Je ne peux le faire en form continu, du moins pas comme je le souhaite car chaque ligne a sa propre personnalisation.

    Je dois donc partir sur un form unique. Grâce à l'aide de LedZeppII et du dernier post qu'il a écrit, je vais pouvoir construire mon form unique et régler le problème d'ajout des données dans les tables.

    Tu peux consulter le post ICI

    Merci beaucoup encore pour ton aide, même si cela n'est pas résolu j'ai quand même appris un "tout petit peu"... lol

    Bonne continuation

    Guillaume

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/11/2014, 13h24
  2. [AC-2010] Obliger d'actualiser manuellement mon formulaire continu.
    Par Kuky18 dans le forum IHM
    Réponses: 4
    Dernier message: 16/10/2012, 10h12
  3. [AC-2003] actualisation des champs calculés sous-formulaire continu
    Par Pigwi dans le forum IHM
    Réponses: 2
    Dernier message: 15/10/2010, 14h41
  4. Formulaire Continu Actualisation Zone de liste
    Par Keuf95 dans le forum Access
    Réponses: 2
    Dernier message: 02/08/2006, 12h50
  5. Figer colonnes dans formulaire continu
    Par Mr.Gus dans le forum IHM
    Réponses: 10
    Dernier message: 30/11/2003, 14h59

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