• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスで条件に合うもののみに連番を振る方法は?)

アクセスで条件に合うもののみに連番を振る方法は?

山田 太郎(@f_a_007)の回答

回答No.3

 70歳にもなると、どうにも質問を理解するのに手間取ります。【回答2/2】を書いている途中で訳が分からなくなりました。何が分からないのか?それは、番号を付与する順番です。以下、【回答2/2】の中途までと、疑問について述べます。 【回答2/2】DBSelect()を利用して[ID]リストを取得する。 まず、DBSelect()について紹介します。次は、イミディエイトウインドウでテストした様子のコピペです。 【イミディエイトウインドウ】 ? DBSelect("SELECT * FROM テーブル1",,Chr(13)) 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;○  行区切り子は、第3引数で指定します。この場合は、改行コードを指定していますので、行単位で改行したデータが戻ってきます。 ? DBSelect("SELECT ID FROM テーブル1") 1;2;3;4;5;6;7;8;9  行区切り子を指定していませんので、デフォルトの";"で連結して取得したデータを戻しています。 ? DBSelect("SELECT ID,参加番号,級,判定 FROM テーブル1           WHERE 級=1 AND Len(判定 & '') ORDER BY 判定 DESC",,Chr(13)) 4;4;1;◎ 2;2;1;○ ? DBSelect("SELECT ID,参加番号,級,判定 FROM テーブル1           WHERE 級=1 AND Len(判定 & '') ORDER BY 判定",,Chr(13)) 2;2;1;○ <---ID=2は1番目だから[証書番号]=1 4;4;1;◎ <---ID=4は1番目だから[証書番号]=2 ? DBSelect("SELECT ID FROM テーブル1 WHERE 級=1 AND Len(判定 & '') ORDER BY 判定") 2;4 ↑ 必要なのは、この[ID]のリスト。この並びが、各[ID]の[証書番号]になります。 【疑問点1】 上記テストでも判るように、○◎か◎○で番号を付与するのか?それで、付与する番号は違う。また、参加番号も加味するのか? 補足されたし!

yosshi26
質問者

補足

アドバイス有難うございます。 ご提示して頂いた内容ですが、私には少々難しく理解が出来ません。 せっかくアドバイスを頂いたのに申し訳ありませんが、他の方法を検討してみます。

関連するQ&A

  • Access DCountでの連番について

    DCountで連番を追加したいのですが演算対象条件の記述方法が良く分かりません。 調査用品別販売データクエリの商品コードフィールドに対して連番を振りたいです。 商品コード、連番 00110 1 00110 2 00120 1 00120 2 上記のようにしたいのですが 式1: DCount("商品コード","調査用品別販売データ","商品コード=" & [調査用品別販売データ]![商品コード]) これではエラーが出てしまいます。

  • クエリで複数項目を昇順後、連番を付ける方法

    お世話になります。 表題の通り、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 ------------------------------ 分かる方、教えてください。 よろしくお願い致します。

  • Access 番号をつける方法

    お世話になっております。 access2010でクエリに番号を割り振ろうと思っています。 「ID」は昇順に並んでおり、同一の「ID」に対しての連番をつけたいです。 クエリ フィールド名:ID、名前 001 田中 001 佐藤 002 山田 003 鈴木 ☆完成図 フィールド名:番号、ID、名前 1 001 田中 2 001 佐藤 1 002 山田 1 003 鈴木 Accessでもexcelのcount関数を使うことはできるのでしょうか? それとも、DCountを使うのでしょうか? 2つ関数の使い方や、用途の違いがよくわかりません。 ご存知の方教えて下さい。よろしくお願いします。

  • Access2000 連番の振り方

    次のようなテーブルに対して連番を振りたいのです。 伝票番号  日付   行番号   金額 00001   2007/01/01  1    1000 00001   2007/01/01  2    1000 00001   2007/01/01  3    1000 00002   2007/01/02  1    1000 00002   2007/01/02  2    1000 00002   2007/01/02  3    1000 以下はこのような状態で続く。 ここで知りたいのは、同日のデータに対しては伝票番号は同じ番号で 行番号のみ連番を振る。 日が変われば伝票番号は次の番号になり、行番号は新たに1から 振りなおすというものです。 クエリーでこのようなことは可能でしょうか。 やはりVBAで組まないと出来ないのでしょうか。 この方法を教えていただきたくお願いいたします。

  • Accessの連番について質問です。

    Accessの連番について質問です。 フォームに連番を表示させたいのですが、どうしてもうまくいきません。 当初はDcount関数を使用したのですが、パフォーマンスが非常に悪かった為、サブクエリ化を使用しようと考えています。 SELECT List.ID, List.CreDate, List.Product,  (SELECT COUNT('ID') FROM T_List AS T WHERE T.ID <= List.ID AND Cate.MaNum = '3') AS RecordCount FROM T_List AS List INNER JOIN T_MaCate AS Cate ON List.MaCate = Cate.ID WHERE Cate.MaNum = '3' ORDER BY List.ID; 実際はフォームで選択された条件を元に、SQLをString変数に代入してフォームのRecordSourceに入れています。しかし、うまくカウントできていない為、思うように表示されません。 DCount(""ID"",""Q_List"",""List.ID<="" & [List].[ID]) AS RecordCountと テーブルの変わりにクエリにすると、連番はうまく生成されるのすが、非常に時間がかかり、 マシンもブンブンとファンが回りだします。 データレコード数は現在1000レコードで、この先3000程度になります。 この辺りに詳しい方や同様に悩まれた方など、アドバイスよろしくお願いいたします。m(_ _)m サブクエリやDcount等、その他の方法等もいろいろ参考にしたいので、併せてよろしくお願いいたします。

  • フィルターが掛かった状態でクエりで連番

    クエリでフィルターが掛かった時、連番を付ける事をしたいのですが、この式だと下記の様に連番を付ける事が出来ませんでしたのでご教授頂けれは幸いです。 連番: Val(DCount("*","テーブル名称","ID <= " & [ID])) 例1> テーブル例 ID 品名 1 みかん 2 りんご 3 ぶどう 4 みかん 5 りんご 6 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 1 みかん 1 4 みかん 2 6 みかん 3 例2> テーブル例 ID 品名 120 みかん 121 りんご 123 ぶどう 124 みかん 125 りんご 126 みかん クエリ例 品名 みかんをフィルター ID 品名 連番 120 みかん 1 124 みかん 2 126 みかん 3

  • [Access]別テーブルの最大値以降の連番振り

    過去の質問を色々調べたのですが、結局以下の連番の振り方が分からず・・・困っています。 どなたか助けて下さい。お願いいたします。 テーブルA(蓄積されている過去テーブル) 伝票番号  顧客NO  注文日 001 111111 2012/11/10 001 111111 2012/11/10 002 222222 2012/11/25 002 222222 2012/11/25 002 222222 2012/11/25 003 333333 2012/12/31 テーブルB(新規にインポートするテーブル) 004 444444 2013/02/01 004 444444 2013/02/01 005 222222 2013/02/15 005 222222 2013/02/15 006 555555 2013/02/15 006 555555 2013/02/15 上記のように、テーブルBをインポートした時に、伝票番号を「004,004,005・・・」という風に 顧客NO毎に連番を振りたいです。 DmaxやDcount関数を使う事はなんとなく分かったのですが、うまくいきません。 出来れば、クエリで実現したいと思ってます。 テーブルAにある顧客がテーブルBに出てきたとしても、関係なく連番が振れれば問題無いので、 テーブルAからは最大値+1の値だけ取れればいいです。 宜しくお願いいたします!!

  • Accessにてテーブル追加時の連番

    Accessにて、個人ごとの販売管理をするようなメイン/サブフォーム形式のフォームを作成しました。 テーブルA(メインフォーム用テーブル) ●個人CD ●氏名 ●住所  ・  ・ テーブルB(サブフォーム用テーブル) ●連番(個人CDごとに取得するよう設定) ●日付 ●個人CD ●商品CD ●個数  ・  ・ フォームにて入力する場合、連番は自動で取得するようなVBAを書いています。 追加クエリA ●日付 ●個人CD  ・  ・ ※1回の追加では、ひとつの個人CDに対して、1件分のデータ。 追加クエリAにより、テーブルBにまとめてデータを追加したい場合、 連番をどのようにして取得してよいか分かりません。 連番は、個人CDごとに振るようにしたいのですが、どのようにしたらよいでしょうか? よろしくお願いいたします。

  • ACCESS フォームに自動連番をふる

    Accessでテーブル→クエリ→フォームと作成し、フォームから特定条件を指定して データを抽出しました。 その抽出したデータに自動連番をつける方法を教えてください。

  • Access:Dcount関数

    Access:Dcount関数 の使用方法について質問です。 テーブル作成クエリで新規フィールドに通し番号として新たに連番を打ちたいのですが、 No: DCount("番号","情報一覧","[番号]<=" & [情報一覧]![番号]) このようにした場合に結果は10,13,15,19のようにとびとびの番号しか出てきませんでした。 関数を誤って理解してるものとは思うのですがどうおかしいのかがよくわからず; 「番号」は連番ではなく、重複ないIDです。 よろしく御教授ください。