Cuestión : ¿El método alternativo de referirse forma en un proyecto del acceso?

Hace algunos años hice un proyecto del acceso rápido 2003 que implicó uces par de controles de encargo del treeview de la tercer persona que fueron utilizados en una variedad de formas a través del proyecto. Vine de un ambiente de .NET así que comencé a aplicar alguno metodología clase-basada al proyecto del acceso. el área del

One con la cual experimenté se refería a formas y a controles a través de una estructura de clase de encargo. Recolecté una serie de funciones públicas en un módulo de la clase que volvió una referencia a una forma o a un control específica. Siempre que necesitara referirme a un control específico que ejemplifiqué un caso de la clase, llamó la función apropiada, y utilizó la referencia vuelta para tener acceso al control de UI. ¿el

This parecía trabajar sin ningunos problemas pero me preguntaba si las estructuras de clase son relativamente ineficaces en el acceso? ¿el

tengo gusto de la flexibilidad y de la organización de usar clases como fábricas de la referencia para las formas y los controles, en comparación con la notación más común de la “explosión”, pero si reduce el proyecto en el tiempo de pasada entonces niega las ventajas del flexibility.

Has que cualquier persona utilizó esta clase de forma y de control que se referían al acceso? Estoy discutiendo usar esto en un nuevo proyecto del acceso que implique absolutamente algunas formas y controls.
class= del

Respuesta : ¿El método alternativo de referirse forma en un proyecto del acceso?

<>>

 Una vez más el su no ir a poder hacer eso aquí en la manera típica de OOP.  Usted no puede tener un objeto de la clase baja, después una subclase él y modificarla.  Access/VBA apoya nada de eso.

Usted puede crear una clase del textbox y acontecimientos del fregadero con ella e introducir nuevos características y métodos, pero será igual para cada control en el app a menos que usted tenga clases separadas.

<>>

  Como dije, parece que estoy careciendo la visión pues todavía no entiendo realmente cuál es su ir después. Esto:

Form_Load secundario privado ()

GetForm (FORM_MAIN). Subtítulo = “secuencia del subtítulo de la prueba”

TempControl dévil como control
Fijar TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)

Con TempControl
   .SetFocus
   . Texto = “prueba”
Extremo con

Fijar TempControl = nada

Terminar el submarino

Apenas no me tiene sentido en el acceso.  Estaría apenas como simple y clarificante hacer:

Form_Load secundario privado ()

Me.Caption = “secuencia del subtítulo de la prueba”

Me.Text0.SetFocus
Me.Text0.Text = “prueba”

Submarino del extremo

y sin todos los gastos indirectos adicionales.  No veo tan ninguna ventaja a usar GetForm (), GetControl () etc apenas para conseguir una referencia algo.  Cuál falta es quizá ése normalmente, un revelador nombrará un control algo similar:

txtBirthDate
cbxHIPPAOnFile
lstSelectPatient

para nombrar de controles y de otros el objeto (usar un prefijo), con el cual es más fácil de trabajar y ayuda realmente con las tareas de la modificación y del mantenimiento.

Y hasta las rutinas que usted tiene, ninguna razón de colocar a través de todas las formas o controles como eso.  Apenas hacer:

Función pública GetForm (sFormName de ByVal) como forma

   En el error GetForm_Error indicado

   Fijar GetForm = las formas (el strFormName)

GetForm_Exit:
  Salir la función

GetForm_Error:
  Fijar GetForm = nada
  Reasumir GetForm_Exit

Terminar la función

  Como usted puede ver, Access/VBA tiene ya formas colección y usted puede utilizar el sintaxis:

 Formas (strFormName)

 para conseguir una referencia a usar una variable de secuencia que contiene el nombre.  Y tiene colecciones para apenas alrededor de cada otro objeto también.

 Sobre el único lugar en donde ha requerido para hacer cuál es el su intentar hacer cuando usted necesita tener casos múltiples de una forma.  Eso necesita típicamente ser dirigida con algo como un GetForm (), que mantendría una colección de formas abiertas pues Access/VBA no dirigirá eso en él es poseer.  Pero afuera de eso, no hay nada que puedo pensar en donde vale los gastos indirectos.

JimD.

Otras soluciones  
 
programming4us programming4us