初めまして。Accessを勉強しながらデータベース作成中です。
見様見まねで作っていて、行き詰まってしまったので教えて下さい。
以下のようなデータがテーブル「T試合結果」にあるとします。
-------------------------------------
対戦相手,1試合目日時,1試合目勝敗,1試合目場所,2試合目日時,2試合目勝敗,2試合目場所,3試合目日時,3試合目勝敗,3試合目場所,・・
Aチーム,2005/01/01,勝ち,a会場,2005/02/01,負け,c会場,2005/03/01,引分,b会場,・・
Bチーム,2005/02/01,勝ち,b会場,2005/03/01,負け,d会場,2005/04/01,勝ち,a会場,・・
Cチーム,2005/03/01,引分,c会場,2005/04/01,勝ち,b会場,2005/05/01,勝ち,d会場,・・
・
・
-------------------------------------
この「T試合結果」をもとしたクエリ「Q試合結果」から
データを追加していけるよう単票形式でフォーム「F試合結果」を作成しました。
このフォーム上にボタンを2つ置き、クリックで次のような結果を出したいのです。
(1)チームごとの最新対戦結果表示
対戦相手,日時,勝敗,場所
Aチーム,2005/**/**,勝ち,a会場
Bチーム,2005/**/**,負け,b会場
Cチーム,2005/**/**,引分,c会場
・
・
(2)日別の勝敗数集計
日時,勝敗,勝敗数
2005/01/01,勝ち,1
2005/01/01,負け,0
2005/01/01,引分,0
2005/02/01,勝ち,1
2005/02/01,負け,1
2005/02/01,引分,0
・
・
どうすればよいでしょうか?根本的に何か間違っているかもしれませんが…
マクロやVBAについては、サンプルデータをいじって若干作り変えている程度の素人です。
良い方法がありましたらよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>テーブル「T試合結果」
対戦相手,1試合目日時,1試合目勝敗・・
とありますが対戦相手,1試合目日時,1試合目勝敗・・という横にずっと並んだ複数のフィールドなのでしょうか?
テーブルT試合結果は
対戦相手・日時・勝敗・試合場所 の4つのフィールドにした方が入力も集計も簡単に済みます。
各フィールドが横にずっと続くようなテーブルはユニオンクエリを使ったりしないと集計等が出来ません。
>(1)チームごとの最新対戦結果表示
上記で書いた4つのフィールドであれば簡単にやるには2つのクエリを作ればできます。
まず対戦相手と日時の2つのフィールドがあるクエリを作り集計クエリにし対戦相手をグループ化・日付を最大にします。
そのクエリを元にもう一つクエリを作りテーブル追加でT試合結果を追加し集計クエリとT試合結果の対戦相手同士と日付の最大と日付をリレーションで結合しT試合結果の勝敗のフィールドをクエリに追加します。
2つ目に作ったクエリを開けば最新対戦結果を表示出来ます。
複数のフィールドから・・となると
SELECT T試合結果.対戦相手, T試合結果.1試合目日時
FROM T試合結果
UNION SELECT T試合結果.対戦相手, T試合結果.2試合目日時
FROM T試合結果
UNION SELECT T試合結果.対戦相手, T試合結果.3試合目日時
FROM T試合結果
・
・
;
のように必要フィールド分SQLで記述して試合日時を同一のフィールドに結合してそのユニオンクエリから抽出するようになります。
ユニオンクエリを作るのが大変ならT試合結果のフィールドの変更をお勧めします。
>(2)日別の勝敗数集計
同様に4つのフィールドであれば
クエリを1つ作り集計クエリにし試合日付と勝敗の2つのフィールドを作り日付と勝敗でグループ化し勝敗数というフィールドを作りフィールドに勝敗を指定し集計をカウントにすれば出来ます。
複数ある場合はユニオンクエリを作り元にして同様に集計クエリを作れば出来ます。
T試合結果のフィールドの持ち方を変更した方が良いと思います。データベースとしてのテーブルの概念とちょっと違うと思います。
回答ありがとうございます。
>横にずっと並んだ複数のフィールドなのでしょうか?
テーブルT試合結果は対戦相手・日時・勝敗・試合場所の4つのフィールドにした方が入力も集計も簡単に済みます。
実は1チームのデータを1行にまとめる必要があるため、このような構成にしています。
やはり作り方がおかしいのですね…(^^;
>必要フィールド分SQLで記述して試合日時を同一のフィールドに結合してそのユニオンクエリから抽出するようになります。
ユニオンクエリ作ってみました。便利ですね~!
それをもとにしたクエリで集計して、思い通りの結果を出すことができました。感謝です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ギャンブル) 4年に1度のワールドカップ!!せっかく見るから宝くじ買って見ようと思います!予想を手伝って!! 2 2022/11/09 15:27
- サッカー・フットサル カタールW杯▽1次リーグE組 最終戦2試合ですが、 日本はスペインとの最終戦に勝利したら勝ち点6で決 1 2022/11/30 12:48
- 統計学 この問題良く分からなくて分かる方解説お願いします。 ある有名ラーメン店の待ち時間 X (分) を調べ 5 2022/07/20 09:57
- 野球 野球にピッチクロックを入れるより、私の発明の方が試合時間を短くできて、なおかつ面白いですよね? 23 2023/03/29 15:51
- 野球 セ・リーグの今年の3位争いはどうなる? 5 2022/09/26 07:05
- 野球 野球の試合を何倍も面白くして、野球ファンを増やす方法を発明しました。 7 2023/03/25 15:40
- 囲碁・将棋 将棋のスーパーカップはやらんの? 2 2023/06/27 21:54
- 野球 WBCについて 1 2023/03/10 20:25
- 数学 試合数を教えてください。 10 2023/06/04 23:01
- 地震・津波 プロ野球、プロサッカー。緊急地震警報発令時はどうするの? 2 2023/05/15 13:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで、1つの項目に複数の...
-
テキストボックスにクエリ結果...
-
アクセスで追加した項目に全て...
-
Accessのテーブルのフィールド...
-
Accessを開きなおすとテキスト...
-
Accessのクエリでハイパーリン...
-
accessでの文字列の混ざった連...
-
ACCESSで2つフィールドの日付...
-
テーブルでメモ型になっている...
-
Access で 特定の文字の個数を...
-
Access:値が求めたい値の2倍...
-
Accessです。テーブルのフィー...
-
追加クエリで特定フィールドの...
-
Access2010での、レポートの両...
-
AccessのDLookUpの第3引数の値...
-
更新クエリをリンクデータベー...
-
アクセス クエリのフィールド...
-
アクセスのハイパーリンク
-
途中で改行されたCSVをAccessに...
-
Accessで、テーブルに入力した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
テキストボックスにクエリ結果...
-
Accessのテーブルのフィールド...
-
Accessで、1つの項目に複数の...
-
Accessを開きなおすとテキスト...
-
Access:値が求めたい値の2倍...
-
更新クエリをリンクデータベー...
-
テーブルでメモ型になっている...
-
Accessで、テーブルに入力した...
-
Accessのクエリでハイパーリン...
-
Access で 特定の文字の個数を...
-
ACCESSで2つフィールドの日付...
-
アクセス クエリのフィールド...
-
access フォームを開くと「パ...
-
アクセスのクエリ 1文字以上を...
-
accessvba 複数条件でFilterを...
-
途中で改行されたCSVをAccessに...
-
アクセスのクエリに「PHONETIC...
-
accessでの文字列の混ざった連...
-
追加クエリで特定フィールドの...
おすすめ情報