|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Bonjour.
Je suis actuelleme à la recherche d'un moyen de rafrachir le contenu d'un sous-formulaire dont la source de données à été modifiée, et ceci sans avoir à fermer/rouvrir le formulaire principal (qui est la méthode que j'utilise actuellement, mais cela manque naturellement d'esthétisme) Jai parcouru un peu le web, vos forums et consulté un de me professeurs pour avoir testé plusieurs sans succès. J'ai notamment trouvé ceci, mais dans mon cas, la méthode .repaint ne fonctionne pas. http://www.developpez.net/forums/d99...us-formulaire/ J'ai essayé toutes sortes de codes trouvés sur web, ainsi que dans l'aide d'access. Code :
Auriez-vous une solution ou même une piste ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
les DoMenuItem ne sont pas recommandés, c'est illisible ... pour raffraichir les données d'un formulaire : - refresh pour mettre à jour les enregistrements affichées (on ne voit pas les ajout, les suppressions restent avec un message "supprimé") - requery pour actualiser tous les enregistrements (y compris ajout, suppression) pour atteindre le sous-formulaire et appeler la commande sur le bon objet (l'objet form du contrôle contenant le sous-formulaire) http://loufab.developpez.com/tutorie...pelformulaire/
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Merci pour ta réponse. Mais comme je l'ai dit, mon but est vraiment d'afficher le contenu modifié de la source de donnée à laquelle mon sous formulaire est lié.
C'est à dire inclure les nouveaux enregistrements, supprimer les enregistremetns supprimés, et que les enregistrements modifiés disposent de leurs nouvelles informations |
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Oui, requery actualise tout les enregistrements de la source de données.
Ce qu'il me faudrait c'est une sorte de Code :
Subform.ActualiserAffichageDApresSourceDonnees
(Pardon si j'ai de la peine à m'exprimer) |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
quel est le code utilisé?
quelle est le résultat? l'erreur éventuelle? je ne comprend pas où est le blocage
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Concrètement, ceci est un projet scolaire soumis à évaluation. Mon code source se trouve donc sauvegardé en salle de classe et ces forums seront cités en tant que ressources utilisées pour le développement du projet
Je reposterai sur ce topic mon code avec capture d'écran à l'appui pour expliquer plus concrètement mon problème. Cependant, je n'ai pas cours d'informatique d'ici mardi. Il faudra patienter. Merci de m'avoir malgré tout proposé des solutions. Et a mardi |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonjour,
Pour rafraichir un sous-formulaire depuis le formulaire depuis un module Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Me revoila avec une description un peu plus détaillée de mon problème.
Je dispose donc, en tant qu'utilisateur, de l'interface qui vous est présentée dans la capture d'écran jointe à ce post. Lorsque je clique sur le bouton rechercher, j'exécute le code suivant. (Bon, je vais pas tout vous mettre. Ca ne vous sert à rien =D) Code :
C'est pour garantir la fonctionalité du code même si le nom du formulaire venait à être modifié sfrmListe est mon sous-formulaire REQ_Search et REQ_SearchSource sont respectivement la chaine de la requête que je renvoie pour la recherche, et celle sur laquelle je me base (Affichage de la totalité du contenu) Les deux dernières lignes vont faire s'ouvrir et refermer le formulaire afin que le contenu du sous-formulaire soit adapté à celui de la source de données qui à été modifiée. En effet, le requery met à jour la source de données en y incluant les nouveaux enregistremts, les enregistrements modifiés, et supprime les enregistrements obsolètes. Cependant, mon contrôle sous-formulaire ne se met pas à jour lorsque sa source de données est mise à jour, et c'est cela que je souhaite faire. (Vous aurez compris que le sous-formulaire est la partie droite de la capture d'écran, qui fait le listing des e-mails) Donc le requery mets bien à jours ma source de données. Maintenant, c'est mon contrôle "sous-formulaire" que je souhaite mettre a jour. merci |
||
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
Au vu du code donné : non, sfrmListe est le contrôle qui contient le sous-formulaire d'où mon lien vers un tuto pour bien cibler le formulaire contenu et non le contrôle le contenant Citation:
le requery demande à réexécuter la requête source des données du formulaire il faudrait essayer de le placer sur le sous-formulaire et non sur le contenant [edit] de mémoire je ne saurais dire si le requery a un comportement différent si on l'exécute sur le contrôle contenant ou sur le sous-formulaire contenu, c'est à tester pour voir si ça corrige le problème note : le setfocus est probablement inutile
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
Merci pour ta réponse.
Le coup du pointeur à la première énonciation pour le contrôle de sous formulaire était un peu ambïgu pour moi. Raison pour laquelle je n'ai pas trouvé ce que je cherchais dans ton tutoriel. J'ai donc re-recherché dans le tuto pour pointer correctement le sous-fomulaire et j'ai le plaisir de t'annoncer que cela fonctionne. Merci beaucoup pour votre patience et votre aide Arkham46 Ainsi qu'à helas pour m'avoir proposé une solution |
|
|
00
|
|
|
#12 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
![]() j'ai été un peu sadique : je t'ai laisser chercher dans le tutoriel pour que tu comprennes bien
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#13 | ||||
|
Candidat au titre de Membre du Club
![]() Gabriel Freitas Inscription : décembre 2010 Messages : 30 ![]() |
IMPORTANT! Je retire ce que j'ai dit.
Un peu trop heureux d'avoir compris le principe du pointeur dans les sous formulaires, j'ai oublié de retirer les fameuses deux lignes de code peu esthétiques que j'utilisais auparavant pour que cela fonctionne (afin de ne pas me retarder dans mon projet). Normal donc, que cela fonctionnait Code :
C'est la source de données liées au sous formulaire qui est mise à jour, mais pas le contenu du sous formulaire tel qu'il est affiché à l'écran (Quand je parle de source de données liées, c'est la requête ou la table sur laquelle est basée le dit sous-formulaire) Cependant, et graçe aux pointeurs que j'ai compris par arkham46, il faut pour raffraichir le contenu du sous-formulaire, lui réindiquer sa source de données pour qu'il puisse actualiser son contenu (que l'on voit donc à l'écran, j'insiste). pour ce faire, j'ai utilisé le code suivant que je peux enfin garantir comme fonctionnel Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com