LibreOffice Base Basic 在加载时获取表单字段值

LibreOffice Base Basic Get form field value on load

这可以在事件中获取字段的值(比如单击按钮):

Sub runatevent(Event as Object)
    dim form as Object
    dim cntrl
    form = Event.Source.Model.Parent
    cntrl = form.getByName("txtpath").currentvalue
    print(cntrl)
End Sub

然而,当我尝试在表单的 "After Record Change" 事件中触发它时,出现错误:"property or method not found: Model"

如何在 "After Record Change" 表单事件中获取 "txtpath" 的值?

为了解决这个问题,我在 Event 对象上使用了 XrayTool。这是有效的:

form = Event.Source

正如我对 的回答,我建议从结果集中读取值:

nameCol = form.findColumn("PATH")
print(form.getString(nameCol))

这个想法是表单基于结果集,因此您可以只从结果集中读取而不是从表单获取控件然后检查控件的值。在我看来只是更优雅一点。