Pagina 1 di 1

[Base][Macro] Accesso ad un formulario

Inviato: giovedì 30 aprile 2020, 15:16
da charlie
Un formulario si trova nel documento attivo thisComponent, contenuto nell'area drawpage, a sua volta interna al contenitore forms.
  • Metodo getByName
    Per accedere al formulario MainForm con il metodo getByName:

    Codice: Seleziona tutto

    oDoc = thisComponent
    oDrawpage = oDoc.drawpage
    oForm = oDrawpage.forms.getByName("MainForm")
    oppure, senza passi intermedi:

    Codice: Seleziona tutto

    oForm=thisComponent.drawpage.forms.getByName("MainForm")
  • Metodo getByIndex
    Per accedere al formulario principale con il metodo getByIndex:

    Codice: Seleziona tutto

    oDoc = thisComponent
    oDrawpage = oDoc.drawpage
    oForm = oDrawpage.forms.getByIndex(0)
    oppure, senza passi intermedi:

    Codice: Seleziona tutto

    oForm=thisComponent.drawpage.forms.getByIndex(0)
Accesso tramite un evento
Ha il vantaggio di non dover conoscere il nome del formulario o sapere se è un MainForm o un SubForm.
  • Evento del Formulario
    Per accedere al formulario tramite un evento dello stesso (es. Prima della modifica dei record di dati):

    Codice: Seleziona tutto

    Sub MacroEsempio(oEvent As Object)
    	oForm = oEvent.Source
    	...
    End Sub
  • Evento di un Controllo del Formulario
    Per accedere al formulario 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
    	oForm = oField.Parent
    	...
    End Sub