バックグラウンド
Access 2007 フォームの速度/パフォーマンスを改善する方法を探しています。ユーザーには、データの 2 つの異なるビューがあり、それぞれに異なるフィルターと並べ替えの基準があります。このオプションを切り替えるチェックボックスがあり、トグル イベントを処理するコードがあります。
Private Sub FilterOpenJobs_Click()
If (FilterOpenJobs.Value) Then
Me.Filter = "Status='Open'"
Me.OrderBy = "EndDate"
Me.FilterOn = True
Me.OrderByOn = True
Else
Me.Filter = ""
Me.OrderBy = "JOB_NO"
Me.FilterOn = False
Me.OrderByOn = False
End If
End Sub
私が抱えている問題は、フォーム レコードソースがかなり大きく、フィルターと並べ替えの適用に時間がかかることです。FilterOn
(また、レコードは混合ソースからのものであることに注意してください: いくつかの Access テーブル、いくつかの dBase テーブル。)呼び出しと呼び出しの間の中間結果を確認できるほどゆっくりと実行されOrderByOn
ます。
質問
フィルターと並べ替えを同時に適用する方法はありますか? 両方が同時に発生するように、フォームの更新をロックする方法はありますか? フォームRecordSource
プロパティに新しい値を割り当てたほうがよいでしょうか? 行ソース SQL でフィルター処理と順序付けを行った場合、フォームの実行速度は速くなりますか?