行(またはチェックボックスなど)を作成します。それを目に見えるように設定します= false;
タグ値 (/checked 状態) を使用して、True または False という定数を保持します。オブジェクトに isSortAscending などの名前を付けます。
ボタンのクリックイベントで:
isSortAscending.Tag = (not cbool(isSortAscending.Tag)) 'switch state to the opposite
dim ss as string: ss = ProjectQSubF.Form.RecordSource 'get the existing data query
ss = left(ss, instr(ss, "ORDER BY") - 1) 'chop off the existing sort logic
if isSortAscending.Tag = True then
ProjectQSubF.Form.RecordSource = ss & "ORDER BY yourColumnName"
else
ProjectQSubF.Form.RecordSource = ss & "ORDER BY yourColumnName DESC"
end if
同様に、日付の場合、DESC は新しい順を意味し、ASC (または単に「DESC」がない場合 - 上記のコードのように) は古い順を意味します。
日付または true/false 列を使用しているかどうかに関係なく、使用している列の 1 つの値に対して複数の行が存在する可能性があり、この列内の行がおそらくソートされていないように見えるので、上記の order by ステートメントの後に ", nameofMainTextColumn" を追加することをお勧めします。
お役に立てれば