Philcattivocarattere ha scritto:
...
Unlike a class module, a standard module is not part of a form or report.
Nemmeno un modulo di classe fa parte di una maschera o di un report. Eventualmente si parla di oggetti di classe (così li indentifica VBE), cioè i moduli che contengono il codice scritto in maschere e report, che non sono moduli standard e non sono moduli di classe in senso "proprio".
Io la tradurrei così, perchè rende meglio l'idea tecnica:
A differenza di un modulo di classe, un modulo standard non fa parte di una maschera o di un report.
Cosa che da un senso al fatto che, in una Form il Modulo è di classe,lo dicono le sue caratteristiche proprie di una Classe ed è riconosciuto da VBE come Classe, la differenza è solo che è legata ad un'oggetto Grafico Form/Report, gli OCX funzionano allo stesso modo.
In Vb6 addirittura, cosa che il VBA non consente, potevi istanziare da codice anche un oggetto Activex senza aprirlo... con Access invece lo devi aprire, poi lo puoi istanziare anche N volte, in quel caso quando Generi MULTISTANZA della Classe Form_Nome istanzi anche l'oggetto Grafico ed apri 1÷n Form... e si vedono tutte se le rendi Visibili.
Un'oggetto appartenente alla Form/Report, come una TextBox o altro, può accedere ad un Metodo di Istanza di Classe Form semplicemente invocandolo, quindi nella Form una Function è richiamabile direttamente in quanto visibile dall'oggetto appartenente alla classe Form/Report stessa a cui anche lui appartiene.
Contrariamente, un Modulo Standard è ESTERNO alla Form/report, quindi non visibile nei suoi Metodi, se non resi Public.
in quanto Oggetto ESTERNO alla Form/Report, che invece sono proprio Moduli di Classe ma Privati di Form/report, ovvero non istanziabili sincolarmente senza l'istanza dell'oggetto Padre.