アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

例えば、


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
これだけ書いてやれば順位をつけることができます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/14 22:27

そうそう、やってみるとわかると思いますが、同じ値が複数ある場合はうまくいきません。


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!