2011-07-14 23 views
2

我有訪問報告,它從底層訪問查詢中提取數據。我遇到的問題是我希望能夠讓用戶能夠根據3個單獨的字段對數據進行排序。如果他想根據字段A,B或C對傳入數據進行排序,我怎麼能給用戶這個設施,他可以選擇?Microsoft Access中的數據運行時排序訪問

請幫忙。 謝謝!

+0

我還不確定該怎麼做。由於我的知識有限,我不確定它是否可能。 – Farax

回答

4

以下內容應該有所幫助。

首先,使用openArgs參數來傳遞用戶選擇的排序依據字段:

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

然後,訂購的報告負載使用傳遞的值:

對於Access 2007+:

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

For Access 2003:

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

結果是一樣的:報告將根據傳遞的參數進行[重新]排序。

希望這會有所幫助。

+0

我會嘗試讓你知道,如果這在我的情況下工作。謝謝:) – Farax

+0

報告中沒有OnLoad事件 - 我認爲你的意思是OnOpen。 –

+1

順便說一句,我永遠不會在OnOpen事件中使用報表的Filter/Sort屬性。如果我在該事件中編寫代碼,我將改變報告的記錄源或其排序/分組定義。 –

0

Pivot Charts是更復雜的數據可視化方式。

如果你真的只希望他們選擇3個字段,你可以有一個表單,用戶選擇字段(通過列表框),通過表單打開報表並相應地設置它的源屬性。

+0

樞軸圖與這個問題有什麼關係? –

+0

它從3個字段排序開始,並以能夠使用過濾器等結束。 – Jacob