Frage : Alternative Methode des Beziehens bildet sich in einem Zugangsprojekt?

Vor einigen Jahren tat ich Schnellzugriffs2003 projektiere, dass mit einbezogen ein paar 3. Partei kundenspezifischen treeview Kontrollen, die auf einer Vielzahl der Formen während des Projektes verwendet wurden. Ich kam von einer .NET Umwelt, also fing ich an, einiges Kategorie-gegründete Methodenlehre am Zugangsprojekt anzuwenden.

One Bereich, dem ich experimentierte mit, bezog Formen und Kontrollen durch eine kundenspezifische Kategorienstruktur. Ich erfasste eine Reihe allgemeine Funktionen in einem Kategorienmodul, das einen Hinweis auf einer spezifischen Form oder einer Steuerung zurückbrachte. Wann immer ich eine spezifische Steuerung beziehen musste, die ich einen Fall der Kategorie instantiated, benannte die passende Funktion und verwendete den zurückgebrachten Hinweis, um auf die UI Steuerung zurückzugreifen.

This schien, ohne irgendwelche Probleme zu arbeiten, aber ich wunderte mich, wenn Kategorienstrukturen im Zugang verhältnismäßig wirkungslos sind?

mag ich die Flexibilität und die Organisation der Anwendung der Kategorien als Bezugsfabriken für Formen und Kontrollen, im Vergleich mit der allgemeineren „Knall“ Darstellung, aber, wenn es das Projekt an der Laufzeit dann verlangsamt, verneint es die Vorteile des flexibility.

Has, das jemand anderes diese Art der Form und der Steuerung verwendete, die im Zugang beziehen? Ich debattiere using dieses auf einem neuen Zugangsprojekt, das durchaus einige Formen und controls.
miteinbezieht

Antwort : Alternative Methode des Beziehens bildet sich in einem Zugangsprojekt?

<>>

 Wieder Ihr Gehen nicht, in der Lage zu sein, das hier auf die typische OOP Art und Weise zu tun.  Sie können einen Gegenstand der niedrigen Kategorie, dann eine Unterklasse nicht haben es und sie ändern.  Access/VBA stützt keine von dem.

Sie können eine area per informazionikategorie und Wannenereignisse mit ihr verursachen und neue Eigenschaften und Methoden vorstellen, aber sie ist die selbe zu jeder Steuerung in der APP, es sei denn Sie unterschiedliche Kategorien haben.

<>>

  Wie ich sagte, scheint sie, dass ich den Anblick ermangele, da ich noch wirklich nicht verstehe, was es Ihr nachher gehen ist. Dieses:

Privates VorForm_Load ()

GetForm (FORM_MAIN). Untertitel = „Testuntertitel-Schnur“

Schwaches TempControl als Steuerung
TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1) einstellen

Mit TempControl
   .SetFocus
   . Text = „Test“
Ende mit

TempControl einstellen = nichts

Unterseeboot beenden

Gerade ist mir im Zugang sinnvoll nicht.  Er sein gerade als einfaches und Reiniger zu tun:

Privates VorForm_Load ()

Me.Caption = „Testuntertitel-Schnur“

Me.Text0.SetFocus
Me.Text0.Text = „Test“

Enden-Unterseeboot

und ohne alle Extraunkosten.  So sehe ich keinen Vorteil zur Anwendung von GetForm (), von GetControl () usw. gerade, um einen Hinweis auf etwas zu erhalten.  Möglicherweise, was fehlt, ist das normalerweise, ein Entwickler nennt eine Steuerung etwas Ähnliches:

txtBirthDate
cbxHIPPAOnFile
lstSelectPatient

für die Benennung von Kontrollen und von anderen hilft Gegenstand (using ein Präfix), dem einfacher zu arbeiten mit ist und wirklich bei den Änderungs- und Wartungsaufgaben.

Und bis zu den Programmen, die Sie haben, keinem Grund, durch alle Formen zu schlingen oder Kontrollen wie der.  Einfach tun:

Allgemeine Funktion GetForm (ByVal sFormName) als Form

   Auf Störung Goto- GetForm_Error

   GetForm = Formen (strFormName) einstellen

GetForm_Exit:
  Funktion herausnehmen

GetForm_Error:
  GetForm einstellen = nichts
  GetForm_Exit wieder.aufnehmen

Funktion beenden

  Wie Sie sehen können, hat Access/VBA bereits Formen Ansammlung und Sie können die Syntax verwenden:

 Formen (strFormName)

 zu einen Hinweis auf der Anwendung einer Schnurvariable erhalten, die den Namen enthält.  Und er hat Ansammlungen für gerade ungefähr jeden anderen Gegenstand außerdem.

 Über den einzigen Platz, in dem er erfordert, um zu tun, was Ihr Versuchen zu tun ist, wenn Sie mehrfache Fälle einer Form haben müssen.  Das muss gewöhnlich mit etwas wie einem GetForm behandelt werden (), das eine Ansammlung geöffnete Formen beibehalten, da Access/VBA nicht das auf ihm ist zu besitzen behandelt.  Aber draußen von dem, gibt es nichts anderes, das ich denken kann an, wo es die Unkosten wert ist.

JimD.

Weitere Lösungen  
 
programming4us programming4us