打开mainForm后,我希望按照升序顺序对subForm进行排序。我尝试将OrderByOnLoad属性从subForm设置为true,并指定OrderBy,但没有成功。在主形式上也尝试了同样的方法。我的下一种方法是直接在OrderBy代码上设置subForms;尝试在Form_Load()、Form_Open()、Form_AfterUpdate()上执行以下代码,但没有结果:
Form.OrderBy = "Hora ASC"
Form.OrderByOn = True也尝试了me.OrderBy = Hora ASC和me.OrderByOn = True。唯一能给出结果的是在Form_Current()上使用Form_Current变体。但这也带来了另一个问题:尽管现在排序的记录,我只能修改,甚至只能在记录行的第一行移动,并在关闭表单时收到这样的消息:

使用subForm的表单如下所示:

任何帮助都是乐意接受的,谢谢!
编辑:也许重要的是要注意,我使用带有过滤器的cmd来打开表单。守则是:
DoCmd.OpenForm "HorarioAlim", acNormal, , "[Base-Número]= '" & Me.txtCod & "'", , acNormal发布于 2021-02-22 17:39:52
在加载时,我会对子表单本身进行排序:
Me.OrderBy = "Hora ASC"
Me.OrderByOn = True发布于 2021-02-22 16:50:06
您在主表单中对子表单的引用需要相对于主表单。
因此,在您的主Form_Load()中,您将编写如下操作:
With Me.subFormName.Form
.OrderBy = "Hora"
.OrderByOn = True
.OrderByOnLoad = True
End Withhttps://stackoverflow.com/questions/66319532
复制相似问题