Microsoft Access中的数据运行时排序

时间:2011-07-14 09:59:36

标签: ms-access

我有一个访问报告,它从底层访问查询中获取数据。我遇到的问题是我希望能够让用户能够根据3个单独的字段对数据进行排序。如果他想根据字段A,B或C对输入数据进行排序,我该如何向用户提供他可以选择的工具?

请帮助。 谢谢!

2 个答案:

答案 0 :(得分:4)

以下内容应该有所帮助。

首先,使用 openArgs 参数传递用户选择的OrderBy字段:

DoCmd.Close acReport, "MyReport"
DoCmd.OpenReport "MyReport", acViewPreview, , , , "OrderByColumnName"

然后,在报告Load:

上使用传递的值进行排序

对于Access 2007 +:

Private Sub Report_Load()
    Me.Report.OrderByOn = True
    Me.Report.OrderBy = Me.Report.OpenArgs
End Sub

对于Access 2003:

Private Sub Report_Open(Cancel As Integer)
    Me.Report.OrderByOn = True
    Me.Report.OrderBy = Me.Report.OpenArgs
End Sub

结果相同:报告将根据传递的参数进行[重新]排序。

希望这有帮助。

答案 1 :(得分:0)

Pivot Charts是进行更复杂的数据可视化的方法。

如果你真的只希望他们选择3个字段,你可以有一个表单,用户选择字段(通过列表框即),通过表单打开报表并相应地设置其源属性。