フォームに読み込み済みのレコードセットを並べ替える場合はOrderByプロパティを設定しますが、フォームのレコードソースとなっているクエリそのものを差し替えることで、並べ替えを行うこともできます。
それには、並べ替え基準ごとの複数のクエリを用意しておき、フォームの「RecordSourceプロパティ」でそれらを切り替えます。
たとえば、まず、並べ替えの異なる3つのクエリを作成します。



フォーム側では、次のようなイベントプロシージャを用意します。ここでは、オプショングループ"fraSort"の選択によってRecordSourceのクエリ名を切り替えています。
Private Sub fraSort_AfterUpdate()
Dim strSource As String
'オプショングループの選択によってクエリ名を設定
strSource = Choose(Me!fraSort, _
"qsel受注受注順", _
"qsel受注得意先順", _
"qsel受注社員順")
'RecordSourceプロパティを変更
Me!受注_sub.Form.RecordSource = strSource
End Sub
[得意先コード]オプションを選択したとき
![[得意先コード]オプションを選択したとき](images/tips_316d.gif)
[社員コード]オプションを選択したとき
![[社員コード]オプションを選択したとき](images/tips_316e.gif) |