Access で以下のようなテーブルがあります。
★tblfood
code | name |
---|---|
A0001 | Apple |
A0001 | orange |
A0001 | melon |
A0002 | grape |
A0002 | peach |
このテーブルからクエリーで、「code」ごとに連番を振りたいのです。
想定する結果は以下です。
code | n | name |
---|---|---|
A0001 | 1 | Apple |
A0001 | 2 | orange |
A0001 | 3 | melon |
A0002 | 1 | grape |
A0002 | 2 | peach |
以下のクエリを組んでみました。
select code,DCount("*","tblfood","code <=" & [code]) AS n,name
from tblfood;
しかしながら、結果は n列に「#エラー」と表示されるばかりで、
それをクリックすると以下のようなメッセージがでます。
クエリ パラメーターとして指定した式でエラー 'このオブジェクトには、オートメーションオブジェクト 'A0001'は含まれません。'が発生しました。
どのようにすれば解決するでしょうか、お知恵をお借りできれば幸いです。
codeフィールドはテキスト型ですので、SQLは下記のようにしてください。
これでエラーに出なくなると思います。
ただし、これだけでは連番になりません。一意に決まるフィールドが必要になります。
下記を参照してください。
DCountでする方法、
サブクエリを使う方法、
VBAで入力する方法、
汎用関数を使う方法
を紹介しています。
グループ毎連番を自動入力する関数 - hatena chips
汎用関数を使う方法がコピーするだけで簡単に使用できますのでお勧めです。処理も高速です。