2022/09/14
アビリンピック過去問題|第40回全国(2020)データベース
本ページはプロモーションが含まれています
アビリンピック競技種目「データベース」は、3時間という短い時間の中で指定の要件を満たすデータベースを作成する競技です。2020年度大会では「アビリンピック競技大会の記録システム」を出題。選手の情報を登録・修正できるだけでなく、表彰状の印刷もできるようにするという内容でした。
もくじ
2020年度の「データベース」は「アビリンピック競技大会記録システム」作成
2020年度全国アビリンピックの「データベース」では、「アビリンピック競技大会記録システム」の作成が出題されました。
選手の氏名・性別はもとより、国名、記録タイム、予選や決勝といった試合の種類といったさまざまな情報を扱えるとともに、順位付けを行う機能や1位から3位の選手について表彰状を印刷する機能も必要となる内容です。
今大会からは、Windows 10の仕様変更に伴って基本となる文字コードがJISからUTF8に変更されています。選手からの質問が相次いだことにより、急遽JISコード版のCSVファイルも支給されることになったものの、次の大会からはUTF8に統一される可能性が高いでしょう。
今後「データベース」に参加する選手は、OSなどの仕様変更に対応できるよう、競技課題の内容だけでなく開発環境の変化も意識する必要がありそうです。
「データベース」の制限時間・利用できるシステム・評価ポイント
競技種目「データベース」の制限時間は3時間です。2020年度大会では9時〜12時の時間帯で実施されました。
利用できるシステム等は下表のとおりです。
<利用できるシステム等(会場側で用意)>
OS | Microsoft Windows 10 Professional |
データベース | Microsoft Access 2016 |
PC | DOS/V 互換機 日本語キーボード |
USBメモリ | 4GB以上のもの |
採点時の主な評価ポイントは、可視性、操作性、機能性、課題で指示されたフォームの有無の4点となっています。
<「データベース」の主な評価ポイント>
項目 | 内容 |
可視性 | 画面の見やすさ
操作者が操作マニュアルを見なくても画面を見ただけで直感的に操作が可能 |
操作性 | 操作のしやすさ
操作者が操作マニュアルを見なくても画面を見ただけで直感的に操作が可能 |
機能性 | データ登録の実現ができるか
印刷ができるか |
フォームの有無 | 課題ごとにフォームがあることが採点の最低条件 |
特にフォームの有無については、各課題できちんと指定どおりのフォームが作成されていない場合、採点の対象外となってしまいます。「あとで作ろうとして忘れていた」「作ったけれど保存できていなかった」などが起こらないよう、十分に見直しの時間をとりましょう。
また、採点でデータ更新や印刷をする際にACCESSが自動表示するダイアログが出てしまうと、課題ごとに減点となってしまうので気をつけてください。
今大会での入賞者は、金賞1名、銀賞1名、銅賞2名でした。金賞を受賞した選手の作品は、操作者が次に何をしないといけないのか、今何が表示されているのかといったラベルが分かりやすいなどの工夫が見られ、非常にUIに優れていた点が高く評価されています。
大会の講評では、まず公開課題を制限時間内に完成させられるよう練習を重ねることを強調。次に、ACCESSのマクロだけで本課題をこなすのは不可能であることから、VBAやSQLを使ってきめ細やかな振る舞いを実現できるようにするなどのアドバイスがありました。
「データベース」の7つの課題と仕様
2020年度全国大会における「データベース」の課題は、「アビリンピック競技大会記録システム」の作成で、全部で7つの課題があります。作業量がとても多いため、事前に何度も練習しながら、作成手順や時間配分などを確認しましょう。
<「データベース」の7つの課題>
課題名 | 内容 |
課題1 | システムの操作メニューを作成する |
課題2 | CSVファイルをもとに競技記録データを登録できるようにする |
課題3 | 競技記録データを画面から修正できるようにする |
課題4 | 順位付けができるようにする |
課題5 | 競技記録結果一覧表を印刷できるようにする |
課題6 | 競技種目毎の参加者一覧表を印刷できるようにする |
課題7 | 表彰状を印刷できるようにする |
各課題には共通する仕様条件があります。課題に取り組む中で用いるテーブル、コード、その他競技上のルールなどが記載されているため、よく確認してから作業に入ることが大切です。
<「データベース」の仕様条件(一部)>
- テーブルは、会場側で用意されるUSBメモリに保存されているACCESSファイルの中のテーブルを使用する(競技種目テーブル、試合種類テーブル、選手名簿テーブル、国名テーブル、競技記録テーブル)
- ワークテーブルはACCESSファイル内に追加OK、課題提出時も消去しなくてよい
- 競技記録データについて指定された入力条件に従う
- 記録タイムは100分の1秒まで登録できるようにする
- 記録タイムでは、時、分、秒は2桁の数字で表し、100分の1秒単位の数字は秒の後にピリオドをつけて2桁で表す(例 01:22:34:56)
- 各種コードは指定されたものに従う
- マクロだけでなくVBAなどACCESSの機能全てを使用してよい
- CSVデータの各要素データは半角ダブルクォーテーションで囲っていない
- CSVデータの区切り文字は半角カンマ
- 課題で使用するイメージは会場側で用意されるUSBメモリに保存されているものを使用する
- 各課題にあるフォーム名とレポート名の指示に従う(指示がない部分は自由)
競技にあたっては、ノートやメモ、参考書、個人所有のUSBメモリ等の記憶媒体は持ち込めません(会場下見の際は持ち込み可)。障害特性に応じた補助具の導入が必要な場合は、事前に許可を得て会場下見の際に導入するルールとなっています。
「データベース」の各課題の概要
それでは、2022年度大会「データベース」の各課題の概要を見ていきましょう。
課題1:パラリンピック競技大会記録システムの操作メニューの作成
課題1は、操作メニューの作成です。ボタン形式で各メニューを配置し、「メニューを閉じる」ボタンをクリックすればACCESS自体が終了するようにしてください。
<課題1の仕様条件>
フォーム名 | mainmenu |
フォームレイアウト | 自由 |
メニュー(ボタン形式) ※任意の位置に以下のボタンを配置する | CSVファイルをもとに競技記録データを登録 |
競技記録データを画面から修正 | |
順位付け | |
競技記録結果一覧表を印刷 | |
競技種目毎の参加者一覧表を印刷 | |
表彰状を印刷 | |
メニューを閉じる | |
その他 | 「メニューを閉じる」ボタンをクリックするとACCESS自体が終了するようにする |
課題2:CSVファイルをもとに競技記録データを登録できるようにする
課題2以降では、各メニューの機能を実装していきます。
課題2で取り組むのは、1つめのメニューボタンである「CSVファイルをもとに競技記録データを登録」を実行できるようにすることです。
<課題2の仕様条件>
フォーム名 | exercises2 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「検索」ボタン
(クリックすると「ファイルを開く」ダイアログボックスを表示させ、CSVファイルを選択できるようにする) |
テキストボックス
(検索したCSVファイル名をフルパスで表示・入力できるようにする) |
|
オプションボタン
(登録方法を選択できるようにする) |
|
「登録」ボタン
(処理を実行する) |
|
「閉じる」ボタン
(メニューに戻る) |
|
オプションボタンで選択できる項目 | 競技記録テーブル上のすべてのデータを削除した後にテーブルに追加する |
競技記録テーブル上の同じ競技記録データ(同じ競技種目コード、試合種類コード、予選グループ番号、選手コード)があれば上書きし、なければテーブルに追加する | |
エラーへの対応 | 以下のエラーがある場合、モーダルフォームで表示してCSVファイルの中の全てのデータを登録しないようにする
|
記録登録日 | 入力した日を登録するようにする |
各テーブルへのデータ登録 | 「競技記録データ.csv」を用いて各テーブルの中にデータを登録する |
課題3:競技記録データを画面から修正できるようにする
課題3では、2つめのメニューボタンである「競技記録データを画面から修正」の機能を実装していきます。
<課題3の仕様条件>
フォーム名 | exercises3 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「検索」ボタン
(競技記録一覧を検索できるようにする) |
「登録」ボタン
(入力した内容をデータベースに書き込む処理を実行する) |
|
「閉じる」ボタン
(メニューに戻る) |
|
「検索」ボタン | 以下の要素で検索し選手の競技記録一覧を表示する(選手名と記録タイム)
|
修正機能 | 表示された選手の記録タイムを修正できるようにする
記録タイムが指定の書式ではない場合は、エラーとする |
表示・修正をできなくてよい項目 | 競技記録テーブルの以下の項目
|
記録登録日 | 入力した日を登録するようにする |
課題4:順位付けをできるようにする
課題4は、3つめのメニューである「順位付け」の実装です。
<課題4の仕様条件>
フォーム名 | exercises4 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「実行」ボタン
(順位付けを実行数する) |
「閉じる」ボタン
(メニューに戻る) |
|
処理対象となる競技種目の選択 | ドロップダウンリストから指定できるようにする |
順位付けの条件 |
|
順位付けのルールにおいて、同じ記録タイムや勝敗区分の選手がいた場合は以下のような扱いになります。
<例>A、B、C、DのうちBとCが同じ記録タイムだった場合
1位 A、2位 BとC、4位 D
Dが3位ではなく4位となるので気をつけてください。
課題5:競技記録結果一覧表を印刷できるようにする
課題5は、メニューボタン5つめの「競技記録結果一覧表を印刷」の実装です。
<課題5の仕様条件>
フォーム名 | exercises5 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「印刷」ボタン
(印刷を実行する) |
「閉じる」ボタン
(メニューに戻る) |
|
印刷対象 | 印刷対象となる競技種目をドロップダウンリストから指定できるようにする |
印刷内容 |
|
印刷レイアウト | 用紙サイズ:A4
用紙方向:横 1ページの行数:20行 印刷順:
|
課題6:競技種目毎の参加者一覧表を印刷できるようにする
課題6では、メニューボタンの「競技種目毎の参加者一覧表を印刷」をクリックした際に印刷を実行できるようにします。
<課題6の仕様条件>
フォーム名 | exercises6 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「印刷」ボタン
(印刷を実行する) |
「閉じる」ボタン
(メニューに戻る) |
|
印刷内容 |
|
印刷レイアウト | 用紙サイズ:A4
用紙方向:横 1ページの行数:20行 印刷順:
|
課題7:表彰状を印刷できるようにする
いよいよ最後となる課題7では、「表彰状を印刷」の機能を実装していきます。選手の順位に応じた内容にすること、決勝に出場した選手のみが印刷対象となることなど細かい指定があります。
<課題7の仕様条件>
印刷対象
フォーム名 | exercises7 |
フォームレイアウト | 自由 |
フォームに配置する要素 | 「印刷」ボタン
(印刷を実行する) |
「閉じる」ボタン
(メニューに戻る) |
|
印刷対象 |
|
印刷内容 | 競技種目名
国名 選手名 記録タイム欄 得点欄 順位とイメージ欄 |
メダル欄 | 表彰状のイメージ欄に順位に対応した指定のイメージを印刷する |
イメージ欄 | 競技記録テーブル上の同じ競技記録データ(同じ競技種目コード、試合種類コード、予選グループ番号、選手コード)があれば上書きし、なければテーブルに追加する |
得点欄 |
|
記録タイムが「-」の場合 |
|
印刷レイアウト | 用紙サイズ:A4
用紙方向:縦 1ページの行数:1ページに1名 |
具体的な表彰状のレイアウトは、「競技課題B」に「サンプル」として掲載されています。競技課題Bでは細かいコードの指定なども確認できますので、ぜひ公式の過去問題もチェックしてみてください。
【参考】
アビリンピック 公式サイト
全国障害者技能競技大会(全国アビリンピック)|JEED
過去3年の技能競技課題(参考資料)|JEED