Access 2010: enregistrement de la valeur du sous-formulaire
Je vous remercie d'avance pour l'aide pour ce problème - il a été me rend fou.
Tout d'abord: Ma question concerne le ici: http://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp.
J'ai un formulaire dans Access 2010 qui contient un sous-formulaire. Le contenu de la sous-formulaire est mis à jour avec VBA. Tout fonctionne très bien ici.
Je veux être en mesure d'ouvrir un autre formulaire basé sur l'enregistrement, que l'utilisateur a choisi dans le sous-formulaire. Cela implique de connaître le numéro de l'enregistrement sélectionné par l'utilisateur. Pour commencer, je n'ai que l'ID de la choisi d'enregistrer à écrire dans une zone de texte normale dans la forme.
J'ai trouvé la solution dans le ci-dessus décrite lien. Il dit:
"Pour faire référence à une valeur dans un sous-formulaire, utilisez la syntaxe suivante pour l'
texte de la zone de propriété Source Contrôle:=[subFormName].[Formulaire]![Nomchamp]"
Il fonctionne parfaitement dans leur exemple (j'ai téléchargé le .mdb et ça marche!!!), mais quand j'essaie, le "[Forme]" n'est pas une option. Et donc, je ne peux pas le faire fonctionner!
J'ai essayé dans les leurs .mdb, et je ne peut pas choisir [Formulaire], donc dès que je change la propriété source contrôle de la zone de texte, il s'arrête de fonctionner. J'ai essayé avec [.Formule] au lieu de cela, mais rien n' (lien vers la capture d'écran: http://i.imgur.com/pR2WkSW.png?1)
Quel pourrait être le problème? Peut-être que les paramètres de langue?
Je vous remercie beaucoup à l'avance.
M.
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de savoir comment il est différent dans Access 2010, mais comme vous pouvez le voir ci-dessous, pour Accéder à 2007 :
Vous pouvez directement consulter un contrôle dans le Générateur d'Expression. Juste :
a) développez votre nom du formulaire dans le cadre de gauche
b) sélectionnez le nom de votre sous-formulaire dans le cadre de gauche
c1) Si vous voulez faire référence à un contrôle spécifique (c'est à dire une zone de texte), il suffit de la sélectionner à partir de l'image du milieu (double clic)
c2) Si vous voulez faire référence à une forme de propriété (c'est à dire le sous-formulaire du filtre) sélectionnez la balise dans le cadre intermédiaire, et la propriété correspondante dans le cadre de droite
c3) Si vous voulez faire référence à un élément de formulaire du sous-jeu d'enregistrements, l'utilisation de la balise dans le cadre intermédiaire et sélectionnez l'élément dans le volet de droite
Il devrait tous être là.
frmMaster
, passubMaster
. Vous ne savez pas si c'est lié à votre problème. Dans les deux cas, ont essayé d'écrire le texte? il doit être quelque chose comme[frmMaster]![Form]![txtID]
ou[frmMaster]![Formular]![txtID]
. Je devine que vers le premier cas, parce que même dans ma langue maternelle pour l'Accès, la syntaxe n'a pas changé, il a travaillé écrite en anglais.[subMaster]![Form]![txtID]
. Si cela ne mène nulle part, alors je suis aussi perplexe que vous êtes 🙁Vous devriez être en mesure de référencer le contrôle via VBA dans une manière légèrement différente. Les formes apparaissent comme des classes avec
Form_
en face d'eux (ce qui est agréable car vous pouvez utiliser intellisense). Donc, votre syntaxe serait semblable à la suivante:Qui devrait vous obtenez la valeur de la commande sur l'enregistrement sélectionné. Je sais que c'est assez vieux, mais je cherchais la réponse à cette question, et a été en mesure de le comprendre sur mon propre avec un peu d'expérimentation.