• 締切済み

access2010行カウント→テーブル更新

access2010についてのご相談です。 現在表彰システムの作成を行っています。 1 対象者テーブル・・・識別ID(主キー),氏名,性別など・・・ 2 表彰カウントテーブル・・・識別ID,表彰年度,該当大会名,成績・・・・ 上記二つのテーブルがあり,識別IDで結合し,下記のクエリを作成しています。 1 個人表彰クエリ・・・識別ID,表彰年度,氏名,性別,該当大会名,成績・・・・ 上記クエリには過去の大会で優勝した記録が羅列される形となります。 ここで,過去の優勝回数が3回→特別賞,2回なら→敢闘賞などと集計し,その結果をレポートにしたいと考えております。ただし同一年度に2つの大会で優勝(2行ある)したとしてもそれは,1回の優勝としてカウントしたいです。 個人表彰クエリのうち,識別ID・表彰年度でグループ化された行数をカウントし,最終表彰種類として対象者テーブルにフィールドを追加して更新をかけたりすれば良いのかなと考えております。 が,どのように実現するのか分からず頭をかかえております。 アドバイスをいただければ幸いです。よろしくお願いいたします。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

識別IDとは、「個人識別ID」ととらえて良いですか? > 2 表彰カウントテーブル・・・識別ID,表彰年度,該当大会名,成績・・・・ 主キーを定義し(てい)ないのですか? > 1 個人表彰クエリ・・・識別ID,表彰年度,氏名,性別,該当大会名,成績・・・・ 同一年度の複数大会で表彰されている場合、どの「該当大会名」,「成績」を取りますか? クエリは3段階としてください。 1)表彰データ作成クエリ 2)個人表彰クエリ 3)レポート用個人表彰 1)で、対象者テーブルと表彰カウントテーブルを識別IDで結合し、   識別ID,表彰年度,該当大会名を表示させてください   ここでは、個人別の全表彰年度・該当大会名まで拾います。 2)で、1)を元に「集計」し「識別ID」をグループ化、「表彰年度」をグループ化、   「該当大会名」は「先頭」でも選んでください。(ここのルール化が必要) 3)で2)と対象者テーブル・表彰カウントテーブルを関連付けします。   ・対象者テーブルは、識別IDで結合し、氏名、性別を拾ってください。   ・表彰カウントテーブルは、識別ID・表彰年度・該当大会名で結合し、    成績を拾ってください。

関連するQ&A

  • ACCESSのテーブル【住所録】で名字毎に何人いるかカウントしたい

    技術が未熟なため、大変困っています。助けてください。 MS ACCESS2002 のデータベースで【住所録】があるとします。 【住所録】テーブルには『氏名』、『住所』の2つのフィールドがあります。 『氏名』フィールドには鈴木_太郎、田中_幸子、佐藤_一郎、等アンダーバーで名字と名前を区切ったフルネームが入っています。 ここからが質問です。 『氏名』の名字だけをグループ化してカウントして新たなクエリーを作れないでしょうか。 例えば、【住所録】を元に、 名字(フルネームの名字のみグループ化)  人数(名字をカウント) 田中                  110 鈴木                  90 佐藤                  78 というクエリができないでしょうか。 あと何かクエリ以外で別のアプローチもあればご教授頂きたいです。 宜しくお願いします。

  • ACCESS クエリ(カウント0のレコードも表示させたい)

    すみません。クエリについて教えて下さい。 <生徒テーブル> 生徒ID・氏名 <出席テーブル> 生徒ID・日付 上記2のテーブルから、クエリで下記の情報を取り出したいのです。 <出席日数> 氏名・出席日数 <出席テーブル>には、1レコードもない生徒がいます。 この生徒は<出席日数>の出席日数を0として表示したいんです。 カウントを使って計算したところ、<出席テーブル>に1レコードもない生徒は表示できません。 説明がわかり難くて申し訳ないです。 どうぞ教えてください。

  • AccessでNullをカウントする方法

    テーブルに以下のようにデータが入っています。 ID  性別 1   男 2   女 3 4   女 5   男 6 7   男 これを集計し以下のように結果を出すにはどうしたらよいでしょうか? 性別  カウント 男     3 女     2 無回答  2

  • Access 別テーブルの特定フィールドの数

    ■Window7 ■Access2013 いつも、お教えいただき、本当にありがとうございます。 お手数ですが、下記の件につきましてお教えいただきたいとおもいます。 【質問】 テーブルが3つあり、それぞれリレーションで結んでいます。 団体テーブル=団体ID 氏名テーブル=団体IDで団体テーブル fmテーブル=氏名IDで氏名テーブル とリレーションを作成しています。 作成しているフォームは 団体名簿=メインフォーム 氏名=サブフォーム fm=データシートビューで別に作成して氏名IDを手動入力して、氏名テーブルと関連付けが出来るようにしています。 fmテーブルには、[姓]、[名]、[年齢]、[性別]などがあり、この中の[性別]で"男性"の 数をメインフォームに表示させたいのですが、DCountを使って見よう見まねでやっているのですが、どうしても出来ません。どのように式を作ればよいか、お教えいただきたいと思います。 何卒、よろしくお願いいたします。

  • ACCESSで複数テーブルのクエリ抽出

    ACCESSで複数テーブルのクエリ抽出 初めて投稿させてもらいます。 テーブル1・・・社員ID(主キー)、氏名 テーブル2・・・社員ID(重複キー有)、顧客ID テーブル3・・・社員ID(重複キー有)、得意先ID テーブル4・・・顧客ID、顧客氏名 テーブル5・・・得意先ID、得意先 上記のテーブル内容を1つのクエリで全部抽出するとき、 テーブル1の社員ID[a]とテーブル2の社員ID[a] と テーブル1の社員ID[a]とテーブル3の社員ID[a] を分けて抽出する方法ってありますか? クエリの結合プロパティで テーブル2の全レコードとテーブル1の同じ結合フィールドと テーブル3の全レコードとテーブル1の同じ結合フィールドにすると 「あいまいな外部接続が含まれているのでSQLを実行出来ません」とエラーになり、 テーブル1の全レコードとテーブル2の同じ結合フィールドと テーブル1の全レコードとテーブル3の同じ結合フィールドにすると 社員ID[a]、顧客ID[1]、得意先ID[α]、顧客氏名[吉田]、得意先[○○商事] 社員ID[a]、顧客ID[1]、得意先ID[β]、顧客氏名[吉田]、得意先[△△金融] みたいになってしまうのです。 やりたい結果は 社員ID[a]、顧客ID[1]、得意先ID["空欄"]、顧客氏名[吉田]、得意先["空欄"] 社員ID[a]、顧客ID["空欄"]、得意先ID[β]、顧客氏名["空欄"]、得意先[△△金融] 説明下手ですいませんが、ご教授の程よろしくお願いします。

  • テーブルの数値をほかのテーブルに更新していくのには?

    OS:Windows Xp Access Version:Access 2002 お世話になります。 毎日、CSVファイルの成績表が取得でき、それをテーブルにインポート後、ほかのテーブルに数値を加算していきたいと思っております。 テーブルの構成が仮に、 Tインポート用テーブル 社員ID テキスト型←主キー 実績  数値型 とあり、この実績の数字を T実績テーブルにある 社員ID 実績 の"実績"のフィールドに加算していきたいと思っております。 インポートされた「Tインポート用テーブル」の全レコードは「T実績テーブル」に加算後、 消去します。 当方、SQL構文にはいまだに不慣れでありますので、更新クエリ、追加クエリでの方法があればありがたいです。 乱筆、乱文ですがよろしくお願いいたします。

  • エクセルデータをアクセステーブルにコピーするVBA

    エクセルファイル E.xlsxにおいて セルA1=ID A2=氏名 A3=性別 A4=住所 というデータがあるとしまして これをアクセスファイル F.accdbにおける テーブルの table1 その項目が ID, 氏名, 性別, 住所, 卒業校, 旧住所 があります。 このエクセルファイル E.xlsxにおける セルA1=ID A2=氏名 A3=性別 A4=住所 というデータを上記F.accdbにおける テーブルの table1 その項目が ID, 氏名, 性別, 住所,に(卒業校, 旧住所は 新規入力はないこととなります) コピー 追加するVBAを御教示願えますか E.xlsxにおいては1行だけのデータですが、 table1には すでに数行のデータが入力済であり、 IDが新規の場合と、すでにtable1に登録済みのIDが存在する場合に 上書きする場合のそれぞれのVBAを 御教示くださりますと助かる次第です よろしくお願い致します win10 office365

  • アクセス2000で、期日を範囲指定してのカウントの仕方

    テーブルの氏名フィールドの列に個人名を、年月フィールドの列に年月を入力。年月は日付時刻型で書式は時刻にして、16:01と入力すれば「16年1月」のことと自分で解釈するようにしています。同一月に同一人が複数入力されている月がかなりあります。 これを元にクエリを作成して、たとえば16年1月から同6月までの範囲内に誰が何回入力されているかを出したいのですがうまくいきません。 選択クエリのフィールドに 氏名 氏名 年月 と追加し、集計をクリックし、二つ目の氏名をカウントに、年月の抽出条件を Between16:01and16:06としたのですが、これだと1月にAさんが3、Bさんが1というように表示されるのですが、2月にも同じようにAさんが5、Bさんが2というように、月毎に氏名がカウントされてしまいます。私のほしいのは、1月から6月までの間にAさんが15、Bさんが8というように各人別にまとまったカウントがほしいのです。 下手な説明で申し訳ないですが、アドバイス頂ければありがたいです。

  • アクセス2000でクエリにデータ追加ができる表示がでません

    アクセス2000で、氏名と性別コード(1or2)のあるテーブルを作りました。 性別を漢字で表示したいので、1=男、2=女というべつのテーブルを作って リレーションシップを設定しようとして、氏名と性別コードのあるテーブルを もとにクエリを作成して、1=男、2=女というテーブルを表示したところ、 クエリにデータ追加ができる表示がでなくなりました。 また、そのクエリをもとに、フォームを作ったら、性別コードの部分が「この データは更新できません」というようなメッセージが出て、データの修正も、 できません。 どうしてでしょう? どうしたら、解決するでしょうか?

  • Access 抽出データ件数のカウント更新について

    以下の2つのテーブルを用いて 販売した数を更新したいのですが、 どの様に作成すれば 良いのでしょうか? クエリーテーブルに結果を出力は出来たのですが、 クエリーテーブルではなく、BUSYO_MSTのM_F_countに カウント結果を出すには、どこを直せばいいでしょうか。 UPDATE BUSYO_MST SET M_F_count=( SELECT Count(M_File.key) AS M_F_count FROM BUSYO_MST LEFT JOIN M_File ON BUSYO_MST.Key = M_File.key GROUP BY BUSYO_MST.Key); ========================= << BUSYO_MST >> ID | key | M_F_count ---+-------------- 01 | バナナ | 0 02 | りんご | 2 03 | みかん | 1 << M_File >> ID | key ---+-------------- 01 | りんご 02 | みかん 03 | りんご

専門家に質問してみよう