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

时间:2015-07-27 16:37:12

标签: vba sorting access-vba report ms-access-2010

我在Access中做了一个报告,有两种主要的排序方式 - 按日期和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

1 个答案:

答案 0 :(得分:0)

当然有!

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

As described above

然后,在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,因此不会使用报告进行打印。