mayu
2025/11/09 (日) 01:13:10
048a4@6c788
順位: DCount("総得点","氏名クエリ","総得点>" & [総得点])+1
同着の順位付けは以下のように記述します
順位: DCount("*", "氏名クエリ"
, "総得点 > " & 総得点
& " OR ( 総得点 = " & 総得点
& " AND "
& " Nz(順位決定戦, 0) > " & Nz(順位決定戦, 0)
& " )"
) + 1
ただし、DCount関数を使った順位付けは 重たい処理になりますから
クエリの表示速度に難があるようでしたら
hatenaさんが公開されている汎用関数 SetSequenceNumber
を、ご自身のデータベースにインポートしておき、
以下のように呼び出し用のコードを記述して、適当なタイミングで実行するほうがいいでしょう
Sub sample()
Rem // 関数の第一引数と第二引数は環境に合わせて変更して下さい
Call SetSequenceNumber( _
"順位を書き込むフィールド名", _
"実際のテーブル名", , _
"総得点 DESC, 順位決定戦 DESC" _
)
End Sub
通報 ...
