<>>
Opnieuw, uw het gaan niet dat op de typische manier kunnen hier doen OOP. U kunt niet een voorwerp van de basisklasse hebben, dan subklasse het en het wijzigen. Access/VBA steunt niets van dat.
U kunt een textboxklasse tot stand brengen en gebeurtenissen met het dalen en nieuwe eigenschappen en methodes introduceren, maar het zal het zelfde voor elke controle in app zijn tenzij u afzonderlijke klassen hebt.
<>>
Zoals ik zei, schijnt het ik de visie niet heb aangezien ik nog werkelijk begrijp wat niet het uw daarna het gaan van is. Dit:
Privé SubForm_Load ()
GetForm (FORM_MAIN). Titel = „de titelkoord van de Test“
Schemerige TempControl als Controle
Vastgestelde TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)
Met TempControl
.SetFocus
. Tekst = „Test“
Eind met
Vastgestelde TempControl = niets
Sub van het eind
Enkel geen aan houdt me steek in Toegang. Het zou enkel eenvoudig en duidelijker zijn te doen:
Privé SubForm_Load ()
Me.Caption = „de titelkoord van de Test“
Me.Text0.SetFocus
Me.Text0.Text = „Test“
Sub van het eind
en zonder al extra overheadkosten. Zo ik geen voordeel zie aan enkel het gebruiken van GetForm (), GetControl () enz. om een verwijzing naar iets te krijgen. Misschien is wat mist dat normaal, een ontwikkelaar een controle iets in die aard zal noemen:
txtBirthDate
cbxHIPPAOnFile
lstSelectPatient
voor het noemen van controles en anderen heb bezwaar (gebruikend een prefix), wat gemakkelijker is om te werken met en werkelijk hulp met de wijziging en onderhoudskarweien.
En zover als de routines die u hebt, geen reden aan lijn door alle vormen of controles als dat. enkel:
Overheidsfunctie GetForm (ByVal sFormName) als Vorm
Op Fout GoTo GetForm_Error
Vastgestelde GetForm = Vormen (strFormName)
GetForm_Exit:
De Functie van de uitgang
GetForm_Error:
Vastgestelde GetForm = niets
Hervat GetForm_Exit
Beëindig Functie
Aangezien u kunt zien, heeft Access/VBA reeds een vormeninzameling en u kunt de syntaxis gebruiken:
Vormen (strFormName)
om een verwijzing te krijgen naar het gebruiken van een koordvariabele die de naam bevat. En het heeft inzamelingen voor eveneens enkel over elk ander voorwerp.
Ongeveer de enige plaats waar het heeft vereist om te doen wat uw het proberen te doen is wanneer u veelvoudige instanties van een vorm moet hebben. Dat moet typisch met iets als een GetForm () worden behandeld, die een inzameling van geopende vormen zou handhaven zoals Access/VBA niet zal dat op het is behandelen. Maar buiten dat, is er niets anders ik aan waar kan denken het de overheadkosten waard is.
JimD.