質問: access97でデータのカウント access97のお話です。 アルファベット26文字がランダムに並んでいるテーブルがあるとします。 ここで「a」は上から数えて何番目にあるか?、 というクエリーを作成したいのですが・・・ テーブル c b d a クエリー 「a」は「4」番目
回答: #1でshigatuさんが仰るように、通し番号のフィールドを作成する方がより現実的な解決策になると思いますが、とりあえず、vbaを使えば仰る処理が実現できると思います。 vbaが分からないとのことですが、とにかくモジュールを新規作成しまして、何も考えずに以下のコードを貼り付けてください(笑)。 '***ここから*** public function 何番目(expr as string, domain as string, criteria as variant) as long dim rst as dao.recordset on error resume next set rst = currentdb.openrecordset(domain, dbopensnapshot) if isnull(target) then rst.findfirst expr & "is null" else rst.findfirst expr & "=" & criteria end if if rst.nomatch then 何番目 = 0 else 何番目 = rst.absoluteposition + 1 end if end function '***ここまで*** んで、クエリ中に、関数を記述するのと同じ要領で 何番目("検索するフィールド","テーブル/クエリ名",検索する値) って感じで記述してやれば出来ると思います。 ...あ、この質問は、ひょっとして、#14674の質問(参考url(^^))の関連項目ではないでしょうか? この方法で、レコードの位置を取得しておいて、マクロのレコード移動で飛ばそうと(笑) それでしたら、こんなややこしいことをせずとも、何とかなります。 明日は、ちょっと朝早いので、今すぐには解答つけれませんが、明日あたり#14674の方に答えたいと思います。(既に他の方が答えておられなければ、ですが) 質問等ございましたら、補足をお願いします!