• 締切済み

ACCESSのクエリで連番をつけたい!

過去に同じような質問がありますが、どうしてもうまくいかないので 再度質問させてください。 当方はそれほどスキルが高くないのでSQLなどはさっぱりです・・・・ 下記のような処理を行いたいのですが、 何卒宜しくお願いいたします。 ・「CUSTOMER」ごとに「SHIPMENTDATE」の昇順で「NO」に連番をつけたい ・データは数字ではなくTEXT ・全データは15万件ほど テーブル名:カウント対象受注 CUSTOMER ORDER REGULAR SHIPMENTDATE NO 00020041 000160104 0024174 2011/3/15 4 00020033 000001931 0000323 2011/2/20 2 00020009 000052835 0008807 2010/12/12 1 00020041 000160103 0024174 2011/2/15 3 00020033 000001930 0000323 2010/12/20 1 00020041 000160102 0024174 2011/1/15 2 00020033 000001932 0000323 2011/4/20 3 00020009 000052836 0008807 2011/1/12 2 00020041 000160101 0024174 2010/12/15 1 00020041 000160105 0024174 2011/4/15 5

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

もう一つサブクエリを使う方法もあります。 SELECT DISTINCT カウント対象受注.CUSTOMER, カウント対象受注.ORDER, カウント対象受注.REGULAR, カウント対象受注.SHIPMENTDATE, (SELECT COUNT(*) FROM カウント対象受注 AS Temp WHERE カウント対象受注.CUSTOMER = Temp.CUSTOMER AND Temp.ORDER<=カウント対象受注.ORDER GROUP BY Temp.CUSTOMER) AS 連番 FROM カウント対象受注; #1とどちらが早いかは比べてみてください。 #1と同様に固有の値を「はい」にします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

提示されているデータのなかで、重複がないのは ORDERという前提の下でクエリを作成しますと、 SELECT カウント対象受注.CUSTOMER, カウント対象受注.ORDER, カウント対象受注.REGULAR, カウント対象受注.SHIPMENTDATE, DCount("*","カウント対象受注","CUSTOMER = '" & [CUSTOMER] & "' AND ORDER <= '" & [ORDER] & "'") AS 連番 FROM カウント対象受注; クエリのデザインビューのテーブルを表示している ところの適当なところをポイントし、右クリックで プロパティを表示し、固有の値を「はい」にします。 クエリが長いので貼り付けるときずれるかも知れません。 修正してください。 提示されているデータのNOというフィールドは 最初からあるものなのかわからないので、上記では それに該当するフィールドとして連番としています。 クエリだけだと、いまのところこのようなところです。 ほかにもいいアイディアがあるかもしれませんが。

関連するQ&A