<>>
Encore, votre ne pas aller pouvoir faire cela ici de la mode typique d'OOP. Vous ne pouvez pas avoir un objet de classe basse, puis une sous-classe il et la modifier. Access/VBA n'en soutient aucune de cela.
Vous pouvez créer une classe de boîte à textes et des événements d'évier avec elle et présenter de nouvelles propriétés et méthodes, mais ce sera pareil pour chaque commande dans le $$etAPP à moins que vous ayez les classes séparées.
<>>
Comme j'ai dit, il semble que je manque de la vision car je toujours vraiment ne comprends pas ce qu'il est votre aller ensuite. Ceci :
Form_Load secondaire privé ()
GetForm (FORM_MAIN). Légende = « corde de légende d'essai »
Faible TempControl comme commande
Placer TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)
Avec TempControl
.SetFocus
. Texte = « essai »
Extrémité avec
Placer TempControl = rien
Finir le sous-marin
Juste n'a pas du sens pour moi dans l'accès. Il serait juste comme simple et le clairifiant pour faire :
Form_Load secondaire privé ()
Me.Caption = « corde de légende d'essai »
Me.Text0.SetFocus
Me.Text0.Text = « essai »
Sous-marin d'extrémité
et sans tous les frais généraux supplémentaires. Ainsi je ne vois aucun avantage à employer GetForm (), GetControl () etc. juste pour obtenir une référence à quelque chose. Peut-être ce qui est absent est celui normalement, un réalisateur appellera une commande n'importe quoi de pareil :
txtBirthDate
cbxHIPPAOnFile
lstSelectPatient
pour la nomination des commandes et de d'autres l'objet (using un préfixe), avec lequel il est plus facile travailler et aide vraiment avec les corvées de modification et d'entretien.
Et jusque les routines que vous avez, aucune raison de faire une boucle par toutes les formes ou commandes comme cela. Faire juste :
Fonction publique GetForm (sFormName de ByVal) comme forme
Sur l'erreur GetForm_Error GoTo
Placer GetForm = formes (le strFormName)
GetForm_Exit :
Sortir la fonction
GetForm_Error :
Placer GetForm = rien
Reprendre GetForm_Exit
Finir la fonction
Comme vous pouvez voir, Access/VBA a déjà des formes collection et vous pouvez employer la syntaxe :
Formes (strFormName)
pour obtenir une référence à employer une variable de corde contenant le nom. Et il a des collections pour juste environ chaque autre objet aussi bien.
Au sujet du seul endroit où il a exigé pour faire ce que votre essai de faire est quand vous devez avoir des exemples multiples d'une forme. Cela doit typiquement être manipulé avec quelque chose comme un GetForm (), qui maintiendrait une collection de formes ouvertes car Access/VBA ne manipulera pas cela là-dessus est de posséder. Mais dehors de cela, il y a rien d'autre que je peux penser à où il vaut les frais généraux.
JimD.