Accessでクエリに番号を割り振る方法と関数の使い方について

このQ&Aのポイント
  • Access2010でクエリに番号を割り振る方法について教えてください。
  • クエリのフィールド名が「ID」と「名前」のテーブルがあります。同一の「ID」に対して連番をつけたいです。
  • Accessでは、excelのcount関数やDCount関数を使うことができるのでしょうか?用途や使い方の違いも教えてください。
回答を見る
  • ベストアンサー

Access 番号をつける方法

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

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

元のテーブルの名前を、テーブルと仮定します。 クエリではDcountを使ってデザインビューに 番号: DCount("ID","テーブル","ID='" & [ID] & "' AND 名前 >='" & [名前] & "'") として、並び替えを指定します。 または、SQLビューでの回答になりますが SELECT テーブル.ID, テーブル.名前 ,Count(T2.ID) FROM テーブル AS T2 WHERE テーブル.ID = T2.ID AND テーブル.名前 <= T2.名前) AS 番号 FROM テーブル ORDER BY ID,名前 DESC; としても実現できます。

semi076
質問者

お礼

ご回答いただきありがとうございます。 頂いた回答を試したところ、 いずれの方法も、期待通りの結果を得ることができました! 私の拙い質問にもかかわらず、的確な回答をいただき大変感謝しております。 ありがとうございました。

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

?????? ・クエリーのもとになっているテーブルを補足して下さい ・一般的に主キーフィールドが定義しますが、主キーはありますか ・通常IDがオートナンバー型で主キーと定義されます ・主キーは重複が許されません。 このIDは主キーではないですね ・主キーは帝政も許されません ・COUNT()関数はACCESSにもありますが、これを番号の割り振りに活用するには  大変な手続きが必要です。あきらめてください。

semi076
質問者

お礼

ご回答いただきありがとうございます。 フィールド「ID」はオートナンバーではなく、主キー設定もありません。 情報が足らず、ご面倒をおかけいたしました。

関連するQ&A

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

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

  • Access97のラベルレポートにつきまして、ある位置に複数のフィール

    Access97のラベルレポートにつきまして、ある位置に複数のフィールドのうち特定のもの表示されるようにしたいと考えております。具体的には、名前、通し番号、式1、式2、式3のフィールドを持つクエリを作り、ラベルに名前、通し番号、「式1、式2、式3のうちレコードが1であるフィールド名」を表示して印刷したいと考えております。例えばクエリは、以下のようなものです。 名前  通し番号  式1 式2 式3 田中   1     1  0  0 山田   2     0  0  1 斉藤   3     0  1  0 鈴木   4     0  0  0 といったようなものを以下のようなラベルデザインにしたいと考えております。 田中         1           「式1」         山田 2 「式3」 斉藤 3 「式2」 鈴木 4 「-」    以上です。 ぜひ、ご教授いただけますようお願いいたします。

  • Accessでテーブルの内容を抽出したい

    お世話になります。 Access2000で作成しております。 下記のテーブルAがあります。 名前1とタイム1,名前2とタイム2をセットにして、 テーブルBを作成したいのですが、 どのようにすれば作成できるでしょうか? 可能でしたら、「クエリ」で、説明難しければ「SQL」で 教えていただければと思います。 ※SQLの場合は、クエリに変換して使用します。 ----テーブルA---- 番号 名前1 名前2 名前3 タイム1 タイム2 タイム3 1 山田 田中  佐藤 10 8 9 2 鈴木 木村  戸田 7  8 9 ----テーブルB------ 名前 タイム 山田 10 田中  8 佐藤 9 鈴木 7 ・ ・ -------------------- お手数ですがよろしくお願いいたします。

  • ACCESSで重複するデータをまとめたいのですが

    ACCESS超初心者です。 ヘルプを見たのですが解決できなかったので、ご質問させてください。    フィールド        フィールド1 フィールド2 田中  A        田中 A       B 田中  B    →   鈴木 A 鈴木  A        佐藤 C 佐藤   C ACCESSで上記のようにデータをまとめたいのですが どのようなテーブル、クエリを組めばよいでしょうか? ご教示願います

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

    下記のようにテーブル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を使えばよいみたいですが、級別だけを条件とした場合は連番が振れるのですが、「判定が〇・◎のもの」という条件の付け方がわかりません。 どなたかアドバイスをお願いします。

  • アクセスのクエリに「PHONETIC」関数はないのですか?

    アクセス2003です。 テーブル1 名前 佐藤 鈴木 木村 を クエリ1にて 名前  ふりがな 佐藤   サトウ 鈴木   スズキ 木村   キムラ というようなフィールドを作成したいのですが クエリのデザインビューのビルドで見る限りだと 「PHONETIC」関数がありませんでした。 クエリではなくテーブルに手打ちするしかないのでしょうか? よろしくお願い致します。

  • Accessでテーブルの内容を参照したい

    お世話になります。 Access2000で作成しております。 下記のテーブルAがあります。 名前1とタイム1,名前2とタイム2をセットにして、 Bの形で表示したいのですが、 どのようにすればできるでしょうか? 表現が下手で申し訳ないのですが、 テーブルを作るのではなく、既に存在しているテーブルAの 情報を「参照」して、Bの形で表記したいのです。 可能でしたら、「クエリ」で、説明難しければ「SQL」で 教えていただければと思います。 ※SQLの場合は、クエリに変換して使用します。 ----テーブルA---- 番号 名前1 名前2 名前3 タイム1 タイム2 タイム3 1 山田 田中  佐藤 10 8 9 2 鈴木 木村  戸田 7  8 9 ----B------ 名前 タイム 山田 10 田中  8 佐藤 9 鈴木 7 ・ ・ -------------------- お手数ですがよろしくお願いいたします。

  • Access:Dcount関数

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

  • ACCESS 複数フィールド下・同一条件でその都度条件を変えて表示したい

    初心者になりますので、基本的かもしれない質問をしますが、検索して見つからなかったので質問をさせて頂きたいと思います。よろしくお願い致します。 ACCESSでシステムを作成する途中で困っています。 複数のフィールドの同一人物のデータを、その都度条件を出して(リストボックス等で)フィールドに表示したいと思っています。 条件はあくまで「1つ」ですが、複数フィールドにまたがる条件の為、どのように表示をさせる方法があるのか迷っています。 データ元は、以下のようなクエリになっております。 【 データ元:クエリ1 】 コード   担当者(1) 担当者(2) 111   田中   佐藤  112   山田   田中 113   佐藤   鈴木 114   鈴木   山田  ・・・      【 表示 】  EX:「田中」を選択した場合 コード   担当者(1) 担当者(2) 111   田中   佐藤  112   山田   田中 ★ 田中が入力されているデータのみ表示する ★ ただし複数のフィールド下で検索する 今まではクエリの抽出条件に直接「田中」などを入力していましたが、数が増えた為その都度条件を入れないといけません。そこで、フォームで担当者を選択することによって、担当者の該当するデータを一発表示できるようにしたいと考えております。 勉強不足で方向性が見えていない状況です。よろしくお願い致します。

  • ACCESSで空のフォームにクエリの値を追加する方法

    ACCESSで空のフォームにクエリの値を追加する方法 ACCESS2007を使っています。 フォームで空のフォームから始めた時やウィザードでテーブルやクエリを 対象とした場合でも、別のクエリの値を表示させたいのですが可能でしょうか? 可能であれば、 クエリに対してさらにクエリを与えて1フィールドになるようにし それを配置できるといいのですが。 例えば、クエリの結果: (ID)、(名前)、(売上)  1   田中   100  2   佐藤    50  3   山田   220 というのがあったとして、「100」「50」「220」というのを各各1つのテキストボックス のようなものにできるといいと思っています。(IDをそれぞれに固定で指定します。) できなければ、サブフォームのようなものでもいいのですが、 フォームの作成時ではなく、後から追加する方法があれば知りたいです。 よろしくお願い致します。

専門家に質問してみよう