更改子表单上的 OrderBy

Posted

技术标签:

【中文标题】更改子表单上的 OrderBy【英文标题】:Changing the OrderBy on a subform 【发布时间】:2011-11-17 09:54:31 【问题描述】:

我有一个包含(连续)子表单的表单,其中列出了查询的结果。子表单中有一个标题,其中包含几个元素,您可以单击以编程更改子表单的 OrderBy,然后刷新它。我使用的代码示例如下:

Private Sub CompanySort_Click()
    If (Me.OrderBy = "Company") Then
        Me.OrderBy = "Company DESC"
    Else
        Me.OrderBy = "Company"
    End If
    Me.Refresh
End Sub

当表单(名为“结果子表单”)自行运行时,这可以正常工作,但在作为父表单(“结果”)的一部分运行时不起作用。 Subform控件的名字是“Report subform”,不记得为什么现在不一样了……

我做错了什么?我确信这很简单,但我很难过,非常感谢任何帮助。

【问题讨论】:

问题在这里解决了:bytes.com/topic/access/answers/… 【参考方案1】:

保留问题的答案,并为下一个遇到此问题的人留下人工制品。

解决方案是将Me.OrderByOn 切换为True

Me.OrderByOn = True

(如果您对 OrderBy 字段进行后续更改,将其切换到 False 然后 True 也可能会有所帮助)

【讨论】:

以上是关于更改子表单上的 OrderBy的主要内容,如果未能解决你的问题,请参考以下文章

主窗体记录更改时从子窗体移动焦点

带有导航表单和子报表的 Microsoft Access 2013 上的奇怪行为

在文本更改时访问文本框的复制值

MS Access - 更改表单中的值后立即写入表

Jquery - 子 div 上的事件侦听器以更改父 div 的 css 属性

从 Access 中的另一个子窗体更改子窗体的记录源