Comment actualiser un formulaire d'accès
-
03-07-2019 - |
Question
Je construis une application MS Access dans laquelle tous les formulaires sont modaux. Toutefois, une fois les données modifiées dans un formulaire, je souhaite actualiser le formulaire parent de ce formulaire avec des données plus récentes. Y a-t-il un moyen de le faire. Pour élaborer plus avant:
Considérons qu'il existe deux formes, la forme A et la forme B. Les deux sont une forme modale. À partir du formulaire A, je lance le formulaire B, et maintenant le formulaire B attire l'attention de l'utilisateur. Mais à la fin du formulaire B, je souhaite actualiser le formulaire A. Y a-t-il un moyen de le faire?
La solution
Non, c'est comme si je voulais exécuter Form_Load de la forme A, s'il est possible
- Varun Mahajan
La méthode habituelle consiste à insérer le code approprié dans une procédure pouvant être appelée par les deux formulaires. Il est préférable de placer le code dans un module standard, mais vous pourriez l’avoir sur le formulaire a:
Formulaire B:
Sub RunFormALoad()
Forms!FormA.ToDoOnLoad
End Sub
Formulaire A:
Public Sub Form_Load()
ToDoOnLoad
End Sub
Sub ToDoOnLoad()
txtText = "Hi"
End Sub
Autres conseils
Vous pouvez repeindre et / ou rediffuser:
Sur l'événement de clôture du formulaire B:
Forms!FormA.Requery
Est-ce ce que vous voulez dire?
" Requery " C’est bien ce que vous voulez exécuter, mais vous pouvez le faire dans le formulaire A "On Got Focus". un événement. Si vous avez du code dans votre Form_Load, vous pouvez peut-être le déplacer vers Form_Got_Focus.
Je vous recommande d'utiliser REQUERY
la liste déroulante spécifique dont vous avez modifié les données ET de le faire après l'instruction Cmd.Close
. Ainsi, si vous saisissez des données, celles-ci sont également demandées.
DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery
vous pouvez également indiquer la valeur récemment modifiée
Dim id As Integer
id = Me.[Index_Field]
DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery
Forms![Form_Name]![Combo_Box_Name] = id
Cet exemple suppose que vous ayez ouvert un formulaire pour saisir des données dans une table secondaire.
Disons que vous enregistrez School_Index et School_Name dans une table School et que vous y faites référence dans une table Student (qui ne contient que le champ School_Index). pendant que vous éditez un élève, vous devez l'associer à une école qui ne se trouve pas dans votre tableau d'école, etc.
pour actualiser le formulaire que vous devez taper - me.refresh dans l'événement de bouton sur clic