我有訪問報告,它從底層訪問查詢中提取數據。我遇到的問題是我希望能夠讓用戶能夠根據3個單獨的字段對數據進行排序。如果他想根據字段A,B或C對傳入數據進行排序,我怎麼能給用戶這個設施,他可以選擇?Microsoft Access中的數據運行時排序訪問
請幫忙。 謝謝!
我有訪問報告,它從底層訪問查詢中提取數據。我遇到的問題是我希望能夠讓用戶能夠根據3個單獨的字段對數據進行排序。如果他想根據字段A,B或C對傳入數據進行排序,我怎麼能給用戶這個設施,他可以選擇?Microsoft Access中的數據運行時排序訪問
請幫忙。 謝謝!
以下內容應該有所幫助。
首先,使用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
結果是一樣的:報告將根據傳遞的參數進行[重新]排序。
希望這會有所幫助。
我會嘗試讓你知道,如果這在我的情況下工作。謝謝:) – Farax
報告中沒有OnLoad事件 - 我認爲你的意思是OnOpen。 –
順便說一句,我永遠不會在OnOpen事件中使用報表的Filter/Sort屬性。如果我在該事件中編寫代碼,我將改變報告的記錄源或其排序/分組定義。 –
Pivot Charts是更復雜的數據可視化方式。
如果你真的只希望他們選擇3個字段,你可以有一個表單,用戶選擇字段(通過列表框),通過表單打開報表並相應地設置它的源屬性。
樞軸圖與這個問題有什麼關係? –
它從3個字段排序開始,並以能夠使用過濾器等結束。 – Jacob
我還不確定該怎麼做。由於我的知識有限,我不確定它是否可能。 – Farax