- 締切済み
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
- ah0902
- お礼率0% (0/2)
- オフィス系ソフト
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- piroin654
- ベストアンサー率75% (692/917)
もう一つサブクエリを使う方法もあります。 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)
提示されているデータのなかで、重複がないのは ORDERという前提の下でクエリを作成しますと、 SELECT カウント対象受注.CUSTOMER, カウント対象受注.ORDER, カウント対象受注.REGULAR, カウント対象受注.SHIPMENTDATE, DCount("*","カウント対象受注","CUSTOMER = '" & [CUSTOMER] & "' AND ORDER <= '" & [ORDER] & "'") AS 連番 FROM カウント対象受注; クエリのデザインビューのテーブルを表示している ところの適当なところをポイントし、右クリックで プロパティを表示し、固有の値を「はい」にします。 クエリが長いので貼り付けるときずれるかも知れません。 修正してください。 提示されているデータのNOというフィールドは 最初からあるものなのかわからないので、上記では それに該当するフィールドとして連番としています。 クエリだけだと、いまのところこのようなところです。 ほかにもいいアイディアがあるかもしれませんが。
関連するQ&A
- アクセスの連番について
アクセスでテーブルのkanri_Noという項目に管理番号を振りたいと思っています。 他のテーブルに後でインサートするので、そのテーブルのKanri_NOの最大値をKanri_Maxとして引いてきてそのKanri_Max+連番という風に振りたいのですが、どうSQLを入れればいいのか分かりません。 Kanri_Maxが4000だったら、4001、4002、4003・・・、Kanri_Maxが5000だったら5001、5002、5003とKanri_Noの項目に連番を振りたいのです。 連番を振る前のKanri_Noは空白です。 初心者で申し訳ないのですが教えてください。
- ベストアンサー
- オフィス系ソフト
- Access2010 クエリ作成 超初心者
以下のテーブルがあります テーブル:受注no、売上日、キャンセル区分… 12345、2013/9/20、 12346、2013/9/20、 12347、2013/9/21、 12348、2013/9/25、 12346、2013/9/26、1 12348、2013/9/30、1 クエリを使用して、キャンセル区分に1が入力されていない受注noのカウントをしたいのですが、クエリ1回でカウントする方法がありましたら教え いただきたく思います 。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- アクセスで条件に合うもののみに連番を振る方法は?
下記のようにテーブル1にデータがあります。 テーブル1 ID 参加番号 級 判定 1 1 2 ◎ 2 2 1 〇 3 3 2 4 4 1 ◎ 5 5 3 ◎ 6 6 2 〇 7 7 1 8 8 3 〇 9 9 2 〇 このデータを追加クエリを使ってテーブル2に追加をします。 その時に級:昇順・参加番号:昇順で並べ替え、同時に判定が〇・◎のものに級別に証書番号として連番を振りたいと考えています。 テーブル2 ID 参加番号 級 判定 証書番号 1 2 1 〇 1 2 4 1 ◎ 2 3 7 1 4 1 2 ◎ 1 7 3 2 5 6 2 〇 2 6 9 2 〇 3 8 5 3 ◎ 1 9 8 3 〇 2 連番を振る場合Dcountを使えばよいみたいですが、級別だけを条件とした場合は連番が振れるのですが、「判定が〇・◎のもの」という条件の付け方がわかりません。 どなたかアドバイスをお願いします。
- ベストアンサー
- Access(アクセス)
- 連番に紐づく小連番の最大値を除外するには…
お世話になります。 以下のテーブルから、次のアウトプットを行うためのSQLをご教授ください。 【インプット】 大連番 小連番 … 000001 000001 … 000001 000002 … 000001 000003 … 000001 000004 … 000002 000001 … 000002 000002 … 000002 000003 … 000003 000001 … 000003 000002 … 【アウトプット】 大連番 小連番 … 000001 000001 … 000001 000002 … 000001 000003 … 000002 000001 … 000002 000002 … 000003 000001 … ※大連番毎に小連番の最大値のデータを除いている。 どうか、お力添えをお願い致します。。。
- ベストアンサー
- SQL Server
- アクセスのクエリについて
1.以下の二つのテーブルを作成しました。 ・テーブル1 case_no:数値型 ap_no:テキスト型 ap_date:日付型 kanriID:数値型 ・テーブル2 kanriID:数値型 F_name:テキスト型 2.上記した二つのテーブルの「KanriID」をリレーションシップして、 さらに、下記の項目をピックアップした選択クエリを作成しました。 case_no ap_no ap_date kanriID(テーブル1) F_name 3.上記のクエリを基に、ウィザードを利用して単票フォームを作成したのですが、データの更新ができないフォームが出来上がってしまいました。 どうしたら、データの更新ができるようになるのでしょうか?
- 締切済み
- オフィス系ソフト
- Access 2000、ユニオンクエリーがどうしても出来ない!
初歩の質問ですが、ユニオンクエリーが出来ません。 やりたい事は非常に単純です↓↓ 1:テーブル1、テーブル2、テーブル3があります。 2:各テーブルのデータ内容は様々ですが、共通項目として「品番」を持っています。但しテーブル1は「製品名」、テーブル2と3は「品番」という項目名になっています。 3:各テーブル内に、品番が幾つ入っているか、集計クエリでカウントします。項目名が違うので以下のように処理しました。 <テーブル1の場合> フィールド|品番のカウント: 製品名|タイトル: "テーブル1" テーブル |テーブル1 集 計 |カウント <テーブル2(或いは3)の場合> フィールド|品番のカウント: 品番|タイトル: "テーブル2" テーブル |テーブル2 集 計 |カウント 4:3の集計クエリーを繋ぎ、テーブル1~3の品番件数を一気に表示させたい <ユニオンクエリの内容> SELECT * from Q0_カウント_テーブル1 UNION select * from Q0_カウント_テーブル2 UNION select * from Q0_カウント_テーブル3; 5:私の予想としてはこんな風↓↓出てくるはずだったのですが・・・ 品番のカウント| タイトル ------------------------------ 30 | テーブル1 20 | テーブル2 23 | テーブル3 6:結果は「From句の間違いです」と出ます。他の質問も見ましたが、自分のSQLのどこを直せば良いのかわかりません・・・教えてください!
- 締切済み
- オフィス系ソフト
- クエリで複数項目を昇順後、連番を付ける方法
お世話になります。 表題の通り、ACCESSクエリで連番を付けるにはどうすれば宜しいでしょうか? 調べたのですが、よく分からない為、 関数又は、SQLに詳しい方、よろしくお願いいたします。 (下記もDCOUNT関数でできますか?) テーブル名:T_A --------------------------- 番号 名前 ランキング 1 佐藤 1 2 鈴木 2 3 佐藤 1 4 鈴木 2 5 佐藤 2 --------------------------- 上記のテーブルがあったとして、特産品及び、ランキングを昇順すると、 下記の通りとなります。 --------------------------- 番号 名前 ランキング 3 佐藤 1 1 佐藤 1 5 佐藤 2 4 鈴木 2 2 鈴木 2 --------------------------- ここで、連番という項目を追加して、上から1,2,3と連番を付けるにはどうすれば 宜しいでしょうか。 ↓↓↓↓↓↓↓ (得たい結果) ------------------------------. 番号 名前 ランキング 連番←追加項目 3 佐藤 1 1 1 佐藤 1 2 5 佐藤 2 3 4 鈴木 2 4 2 鈴木 2 5 ------------------------------ 分かる方、教えてください。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Access2000のクエリ、教えてください。
データが 名前 NO 大学 -------------------------------- 田中 8 北海道大学 すずき 1 大宮大学 田中 3 青森大学 田中 2 千葉大学 すずき 3 湘南大学 すずき 4 山梨大学 すずき 2 東京大学 で、検索条件、名前の最大NO で 名前、 NO、大学 をリストアップ したい。 ●ほしい結果 すずき 4 山梨大学 田中 8 北海道大学 ですが、 クエリーのSQLです。 --------------------------- SELECT テーブル1.名前, Max(テーブル1.[No]) AS Noの最大, Max(テーブル1.大学) AS 大学の最大 FROM テーブル1 GROUP BY テーブル1.名前; ●現在の結果 すずき 4 東京大学 田中 8 北海道大学 となってしまいます。 SQLをどのように変えればいいのでしょうか? アドバイスをお待ちしています。
- ベストアンサー
- その他(データベース)
- ACCESS DSUM関数の使い方について
よろしくお願いいたします。 環境:winXP/Access2003(Office2003) 受注データが2つのファイルに分かれています。 (1)ヘッダーテーブル:ORDER_H (2)明細テーブル:ORDER_D クエリにて2つのテーブルを結合し、同一クエリ内のフィールドで、受注NO(ORDER_NO)毎の”消費税(TAX)"と”明細小計(syo_kingaku)"の累計を計算したい状況です。 現在クエリのフィールドに、 式1:DSum([TAX],"ORDER_D","[ORDER_NO]="&"[ORDER_NO]")とセットし実行しましたら、 計算結果は、[TAX]×レコード数になってしまいます。 恐れ入りますがご教授をお願いいたします。
- 締切済み
- その他(データベース)
- (ACCESS)連番取得について
アクセスで顧客管理をしています。 DMax関数を用いて、レコードを追加する度に自動で連番を振る設定に したいと思っていますが、上手くいかないため質問させてください。 【テーブル名】T_顧客一覧 【入力用のフォーム名】F_顧客登録 【連番を入力させたい項目(フィールド名)】No(テーブルでは主キーに設定) とし、フォームの”No”の既定値に =DMax("No","T_顧客一覧")+1 と入力するのですが、フォームには1としか表示されません。 非常に初歩的な質問だとは思うのですが、 何か原因として考えられることがありますでしょうか? 情報が足りないようでしたら補足させていただきます。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト