有没有办法让最终用户在 MS Access 中加载报告时对报告进行排序?

Is there a way to allow the end user to sort a report when loaded in MS Access?

我在 Access 中制作了一份报告,其中有 2 种主要排序方式 - 按日期和 FG 编号。我想将默认排序保留为按日期排序,但仍允许用户在 2 之间切换。有没有办法在报告本身上这样做?我不希望用户必须打开两个不同的报告,而且我认为让用户可以选择切换看起来也会更好。

根据以下建议尝试的方法

Private Sub Report_Load()

    Me.OrderBy = "job_date"
    Me.Frame360 = 1

End Sub

Private Sub Frame360_Click()

    If Me.Frame360 = 1 Then
        Me.OrderBy = "job_date"
    Else
        Me.OrderBy = "FGNumber"
    End If

End Sub

当然有!

在表单的 header 中创建一个选项组。您可以为此使用向导,它更容易。提供两个(或更多)可能的字段作为标签名称进行排序。您可以设置一个默认选项,但这有时不能像在表单上那样对报表起作用(别担心,我们稍后会解决这个问题)。在下一个屏幕上,将值保留为默认值(1、2、...)。然后选择 "Save the value for later use"。我将样式保留在单选按钮上,但这取决于您。我的名字叫 optSortBy.

然后,在 Report_Load() 事件中:

Private Sub Report_Load()

    Me.OrderBy = "Field1"
    Me.optSortBy = 1

End Sub

这会设置默认值,并按它排序。

然后,在按钮周围的框架的 On Click 事件中:

Private Sub optSortBy_Click()

    If Me.optSortBy = 1 Then
        Me.OrderBy = "Field1"
    Else
        Me.OrderBy = "Field2"
    End If

End Sub

最后一步是将框架的 Display When 设置为 Screen Only,因此它不会与报告一起打印。