Questione : Il metodo alternativo di riferirsi si forma in un progetto di accesso?

Alcuni anni fa ho fatto un progetto di accesso rapido 2003 che ha coinvolto una coppia di comandi su ordinazione del treeview dei terzi che sono stati usati su varie forme durante il progetto. Sono venuto da un ambiente di .NET in modo da ho cominciato applicare alcuno metodologia codice categoria-basata al progetto di accesso. la zona del

One che ho sperimentato con stava riferendo le forme ed i comandi attraverso una struttura di codice categoria su ordinazione. Mi sono riunito una serie di funzioni pubbliche in un modulo del codice categoria che ha restituito un riferimento ad una forma o ad un controllo specifica. Ogni volta che ho dovuto riferire un controllo che specifico ho esemplificato un caso del codice categoria, ha denominato la funzione adatta ed ha usato il riferimento restituito per accedere al controllo di UI. il

This è sembrato funzionare senza alcuni problemi ma stavo domandando se le strutture di codice categoria sono relativamente inefficienti nell'accesso?

gradico la flessibilità e l'organizzazione di usando i codici categoria come fabbriche di riferimento per le forme ed i comandi, in contrasto con la notazione più comune “di scoppio„, ma se ritarda il progetto giù a tempo di esecuzione allora nega i vantaggi del flexibility.

Has che chiunque altrimenti ha usato questo genere di forma e di controllo che si riferiscono nell'accesso? Sto dibattendo using questo su un nuovo progetto di accesso che coinvolge parecchi forme e controls.
class= del

Risposta : Il metodo alternativo di riferirsi si forma in un progetto di accesso?

<>>

 Di nuovo, vostro non andare potere fare quello qui al modo tipico di OOP.  Non potete avere un oggetto del codice categoria basso, quindi una sottoclasse esso e modificarli.  Access/VBA non ne sostiene di quello.

Potete generare un codice categoria della casella di testo e gli eventi del dispersore con esso ed introdurre le nuovi proprietà e metodi, ma sarà lo stesso per ogni controllo nel app a meno che abbiate codici categoria separati.

<>>

  Ho detto, sembra che stia difettando della visione poichè ancora realmente non capisco che cosa è vostro andare dopo. Ciò:

Form_Load secondario riservato ()

GetForm (FORM_MAIN). Titolo = “stringa di titolo della prova„

TempControl fioco come controllo
Regolare TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)

Con TempControl
   .SetFocus
   . Testo = “prova„
Estremità con

Regolare TempControl = niente

Concludere il sommergibile

Non ha appena significato me nell'accesso.  Sarebbe appena come semplice e pulitore fare:

Form_Load secondario riservato ()

Me.Caption = “stringa di titolo della prova„

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

Sommergibile dell'estremità

e senza tutte le spese generali supplementari.  Così non vedo alcun vantaggio a usando GetForm (), GetControl () ecc appena per ottenere un riferimento a qualcosa.  Forse che cosa manca è normalmente quello, uno sviluppatore chiamerà un controllo qualcosa di simile:

txtBirthDate
cbxHIPPAOnFile
lstSelectPatient

per la nomina dei comandi e di altri l'oggetto (using un prefisso), cui è più facile da funzionare con e realmente aiuta con i lavoretti di manutenzione e di modifica.

E fino alle procedure che avete, a nessun motivo collegare attraverso tutte le forme o a comandi come quella.  Fare appena:

Funzione pubblica GetForm (sFormName di ByVal) come forma

   Sull'errore GetForm_Error di avanzamento

   Regolare GetForm = le forme (strFormName)

GetForm_Exit:
  Uscire la funzione

GetForm_Error:
  Regolare GetForm = niente
  Riprendere GetForm_Exit

Concludere la funzione

  Come potete vedere, Access/VBA già ha forme accumulazione e potete usare la sintassi:

 Forme (strFormName)

 per per ottenere un riferimento a usando una variabile di stringa che contiene il nome.  Ed ha collezioni per appena circa ogni altro oggetto pure.

 Circa l'unico posto in cui ha richiesto per fare che cosa la vostra prova di fare è quando dovete avere casi multipli di una forma.  Quello deve tipicamente essere trattato con qualcosa come un GetForm (), che effettuerebbe una collezione di forme aperte poichè Access/VBA gli non tratterà quello è di possedere.  Ma all'esterno di quello, ci è nient'altro che possa pensare a dove vale le spese generali.

JimD.

Altre soluzioni  
 
programming4us programming4us