• ベストアンサー

ACCESS クエリで 昇(または降)順に並べ替えたデータ に昇(または降)順に1,2,3・・・と番号を振る方法

 ACCESSプログラミングで分からないことがあります。 クエリを使って データの昇(または降)順に順に並べ替えはできますが 並べ替えた順に番号を振るには どのようにすればよいのでしょうか?  例えば 10個ほどの 数値を持つ データがテーブルにあるとして これをクエリで昇(または降)順に並び替えることは簡単ですが この順番に 1,2,3・・と番号を これらの数値データに与えるには クエリをどういじればよいでしょうか? テーブルのインポートや VBA を使わずに クエリだけでやりたいのですが。お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

例えば、 Code  Value ------------- AAA    8 BBB    12 CCC    3 DDD    7 のようなテーブル T_TEST があったとすると、 順位:[DCount("Code","T_TEST","Value<=" & [Value]) という列を作れば、連番がつきます。 ただし、DCount() という関数を使っているので、レコード数が多い場合、スピードはかなり遅いと思います。 ちなみに、もし、レポートに表示させることが目的であれば、 レポートのコードに Private mlngOrder As Long Private Sub Report_Open(Cancel As Integer)   mlngOrder = 0 End Sub Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)   mlngOrder = mlngOrder + 1   Me.テキスト13 = mlngOrder End Sub これだけ書いてやれば順位をつけることができます。

kisigenn
質問者

お礼

kisigenn です つかさ様 ありがとうございました 驚きました ACCESS参考書を何冊か持っていますが DCount 関数は 指定された範囲に含まれるレコードの数を返す となっているだけで そのような使い方が あるとは思いませんでした ACCESS仲間も VBを使わなければ不可能 といってましたので。 助かりました。

その他の回答 (1)

回答No.2

そうそう、やってみるとわかると思いますが、同じ値が複数ある場合はうまくいきません。 同じ値が複数ある場合をきちんと処理させようとすると、やはり VBA か何か他の手を使わざるを得ないと思います。

関連するQ&A