Pergunta : O método alternativo de prover dá forma em um projeto do acesso?

Alguns anos há eu fiz um projeto do acesso rápido 2003 que envolvesse um par controles feitos sob encomenda do treeview do ó partido que foram usados em uma variedade de formulários durante todo o projeto. Eu vim de um ambiente de .NET assim que eu comecei aplicar algum metodologia classe-baseada ao projeto do acesso. a área do

One que eu experimentei com provia formulários e controles através de uma estrutura de classe feita sob encomenda. Eu recolhi uma série de funções públicas em um módulo da classe que retornasse uma referência a um formulário ou a um controle específico. Sempre que I necessário para prover um controle específico mim instantiated um exemplo da classe, chamaram a função apropriada, e usaram a referência retornada para alcançar o controle de UI. o

This pareceu trabalhar sem nenhuns problemas mas eu queria saber se as estruturas de classe são relativamente incapazes no acesso? o

eu gosto da flexibilidade e da organização de usar classes como fábricas da referência para formulários e controles, ao contrário da notação mais comum do “estrondo”, mas se retarda o projeto para baixo no tempo de execução então nega as vantagens do flexibility.

Has que qualquer um usou mais este tipo do formulário e do controle que provêem no acesso? Eu estou debatendo using este em um projeto novo do acesso que envolva completamente alguns formulários e controls.
class= do

Resposta : O método alternativo de prover dá forma em um projeto do acesso?

<>>

 Além disso, seu não ir poder fazer isso aqui na forma típica de OOP.  Você não pode ter um objeto da classe baixa, a seguir um subclass ele e modificá-lo.  Access/VBA não suporta nenhuma daquele.

Você pode criar uma classe do textbox e eventos do dissipador com ela e introduzir propriedades e métodos novos, mas será a mesma para cada controle no app a menos que você tiver classes separadas.

<>>

  Como eu disse, parece que eu estou faltando a visão porque eu ainda realmente não compreendo o que é seu ir em seguida. Isto:

Form_Load secundário confidencial ()

GetForm (FORM_MAIN). Subtítulo = do “corda do subtítulo teste”

TempControl não ofuscante como o controle
Ajustar TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)

Com TempControl
   .SetFocus
   . Texto = “teste”
Extremidade com

Ajustar TempControl = nada

Terminar o submarino

Apenas não me faz o sentido no acesso.  Seria apenas como simples e o esclarecedor fazer:

Form_Load secundário confidencial ()

Me.Caption = do “corda do subtítulo teste”

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

Submarino da extremidade

e sem todas as despesas gerais extra.  Assim eu não ver nenhuma vantagem a usar GetForm (), GetControl () etc. apenas para começ uma referência a algo.  Talvez o que falta é aquele normalmente, um colaborador nomeará um controle qualquer outra coisa semelhante:

txtBirthDate
cbxHIPPAOnFile
lstSelectPatient

para nomear dos controles e de outro o objeto (using um prefixo), que é mais fácil de trabalhar com e ajuda realmente com as tarefas da modificação e da manutenção.

E até as rotinas que você tem, nenhuma razão dar laços através de todos os formulários ou controles como aquele.  Apenas fazer:

Função pública GetForm (sFormName de ByVal) como o formulário

   No erro GetForm_Error empreendedores

   Ajustar GetForm = formulários (o strFormName)

GetForm_Exit:
  Retirar a função

GetForm_Error:
  Ajustar GetForm = nada
  Recomeçar GetForm_Exit

Terminar a função

  Como você pode ver, Access/VBA já tem formulários coleção e você pode usar a sintaxe:

 Formulários (strFormName)

 para começ uma referência a usar uma variável de corda que contem o nome.  E tem coleções para apenas aproximadamente cada outro objeto também.

 Sobre o único lugar onde exigiu para fazer qual sua tentativa fazer é quando você precisa de ter exemplos múltiplos de um formulário.  Isso precisa tipicamente de ser segurado com algo como um GetForm (), que mantenha uma coleção de formulários abertos porque Access/VBA não segurará aquele nele é possuir.  Mas fora disso, não há nada mais que eu posso pensar de onde vale a pena as despesas gerais.

JimD.

Outras soluções  
 
programming4us programming4us