[Base][Macro] Accesso ad un subformulario
Inviato: lunedì 4 maggio 2020, 14:27
I Subformulari si trovano in ordine gerarchico all'interno del formulario principale e possono essere raggiunti con il metodo getByName:
oppure, senza passi intermedi:
L'uso del metodo getByIndex() è possibile, ma è sconsigliato in quanto richiede la conoscenza certa dell'indice da usare.
È invece molto efficiente l'accesso tramite l'evento che attiva la macro:
Codice: Seleziona tutto
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oSubForm = oForm.getByName("SubForm")
Codice: Seleziona tutto
oSubForm=thisComponent.drawpage.forms.getByName("MainForm").getByName("SubForm")
È invece molto efficiente l'accesso tramite l'evento che attiva la macro:
- Evento del SubFormulario
tramite un evento dello stesso (es. Prima della modifica dei record di dati):Codice: Seleziona tutto
Sub MacroEsempio(oEvent As Object) oSubForm = oEvent.Source ... End Sub
- Evento di un Controllo del SubFormulario
tramite un evento di un controllo dello stesso (es. Perdita del punto focale):Codice: Seleziona tutto
Sub MacroEsempio(oEvent As Object) oField = oEvent.Source.Model oSubForm = oField.Parent ... End Sub