200pt【Accessクエリ】連番をつける方法は?


クエリの列に自動採番するにはどうすれば良いのでしょうか?
クエリの元となるテーブルにはユニークキーが付いています。

●参照先テーブル T
Tid, value
11, A
12, B
13, C

●望む結果: 下記のようにQidを生成してほしい
クエリ
【Qid】, Tid, value
1, 11, A
2, 12, B
3, 13, C


●失敗作
1) Qid: DCount([Tid],[T],"[T].[Tid] < " & [Tid])
#エラー
#エラー
#エラー
でした。

2) Qid: ( SELECT COUNT( * ) FROM [T] WHERE [T].[Tid] < [Tid] )
0
0
0
でした。

回答の条件
  • 1人5回まで
  • 登録:2007/11/27 09:13:31
  • 終了:2007/11/27 12:23:17

回答(2件)

id:Im_Me No.1

Im_Me回答回数301ベストアンサー獲得回数62007/11/27 10:11:51

ポイント10pt

これはどうですか?


レコードセットの各レコードに連続番号をつける方法(MICROSOFTオフィシャル)

http://support.microsoft.com/kb/410756/ja

ACCESS97用ですが、使えると思います。

id:radio3

VBAコードを書いて、それを別で実行させる、という感じに見えました。

クエリ実行時に自動生成してくれるのが希望ですが、検討してみます。

ありがとうございました。

2007/11/27 11:46:52
id:careplanner No.2

らいず回答回数338ベストアンサー獲得回数132007/11/27 10:17:19

ポイント60pt

一発では出来ないようですが、下記URLに連番を作る方法がありますので

参考にしてみてください。

http://support.microsoft.com/kb/410756/ja

Tidが必ず昇順にならんでいるならcount関数を使っても可能だと思いますが・・・

http://www.accessclub.jp/bbs/0028/beginers12608.html

id:radio3

ありがとうございます。

しかし、

一発でできない!?

というのはかなりショックですね(TT)

Dcount(), Count()で可能、というリンクは、

かなり閲覧したのですが、解決できずにいる、というわけなのです。

可能であるなら、ズバリ

Qid: ...

こう書け!

と示して下さる方、どなたかいらっしゃいませんでしょうか?

2007/11/27 12:20:49
  • id:icchan0000
    select count(T2.Tid) as Qid, T1.Tid, T1.value
    from T as T1 left outer join T as T2
    on T2.Tid <= T1.Tid
    group by T1.Tid, T1.value
  • id:takejin
    オートナンバーのフィールドを持つテーブルに、それ以外のフィールドを追加するようにすれば、生成できますけど。いちいちテーブルになっちゃうのも面倒ですよね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません